4

私はdojo1.7.2を使用しています

これが私のコードです:

<script type="text/javascript" src="../js/release/dojo/dojo.js" 
 data-dojo-config="packages:[ {'name':'com','location':'/myApp/js/com'}], async: false, parseOnLoad: true, isDebug: true">
</script>
<script language="JavaScript" type="text/javascript">
    require(['dojo/dojo', "dijit/dijit", "dojox/dojox"], function () {
    require(["dojox/mobile", "dojo/parser"], function(mobile, parser){
        })
    });
</script>

ここでどこを間違えたのですか?少し早いですがお礼を。

4

4 に答える 4

1

この問題を解決しました。この問題はさまざまな原因で発生する可能性があるため、私の解決策が役に立たない可能性は非常に高いです。私の Web サイトはserver1.blah.comから提供されており、dojo はserver2.blah.comから提供されています。通常、サイトは正常に機能しています。その後、新しいユーザーを獲得しましたが、サイトはまったく機能していませんでした。Web コンソールに次のエラーが表示されました。

ReferenceError: require is not defined

問題は、両方のサーバーが https を使用しているが、証明書がないことです。(これはイントラネット アプリケーションです)。そのため、server1.blah.comにアクセスすると、続行して例外を追加するかどうかを尋ねられます。しかし!server2も例外ではありません。server2.blah.com/blah/dojo.jsそのため、新しいユーザーに移動してそこに例外を追加してもらいました。今、すべてが動作します!(考えてみてください。 requireこの場合は dojo から来ています。考えられる多くの理由で dojo を読み込めない場合、require関数は定義されません)

また、私は決してこれをベスト プラクティスとして推奨しているわけではありません。証明書を設定するだけです。

于 2013-06-07T16:52:15.000 に答える
0

最初に、dojo.js ファイルが配置されている場所を確認する必要があります。最後に焦点を当てる必要があるのは、Dojo フォルダーがどこにあるか、および src タグ "" で指定された場所は何かということです。

于 2014-04-25T06:48:03.530 に答える
0

同じ問題が職場で発生しました。そのエラーが発生した場合に他の人に知らせるためです

Uncaught ReferenceError:require is not defined                at dojo.js:29
dojo.js:29

single-spaを使用しているか、固定バージョンのSystemJSをインポートしているため <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.21.5/system-production.js"></script> 、それが原因である可能性があります。したがって、本番ビルドを使用すると、開発中にこの例外がスローされました。これは{mountParcel} with single-spa.

index.html から本番環境に対応していない systemjs を指定するか、より良いアプローチを使用して、html に systemjs を挿入しないようにすることができます。

于 2019-05-30T18:29:45.263 に答える