一致しない匿名define()モジュール 質問する

一致しない匿名define()モジュール 質問する

閲覧中にこのエラーが発生しますウェブアプリ初めての場合(通常はキャッシュが無効になっているブラウザの場合)。

エラー: 一致しない匿名の define() モジュール: function (require) {

html:

<html>
   .
   .
   .
   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
   <script> var require = { urlArgs: "v=0.4.1.32" }; </script>
   <script data-main="assets/js/main" src="assets/js/libs/require.js"></script>
   <script src="assets/js/ace/ace.js?v=0.4.1.32"></script>
   </body>
</html>

JS:

$(function () {
    define(function (require) {
        // do something
    });
});

このエラーが正確に何を意味し、なぜ発生するのか知っている人はいますか?

ソースファイル短い議論githubのissuesページでそれについて

ベストアンサー1

AlienWebguyが言ったように、ドキュメントによると、require.jsは爆発する可能性があるもし

  • 匿名の定義("文字列IDなしでdefine()を呼び出すモジュール") を独自のスクリプト タグで指定します (実際にはグローバル スコープ内の任意の場所を意味するものと想定します)
  • 名前が競合するモジュールがあります
  • ローダープラグインや匿名モジュールを使用しているが、それらをバンドルするために require.js のオプティマイザーを使用していない

この問題は、require.js モジュールと一緒に browserify でビルドされたバンドルを組み込むときに発生しました。解決策は次のいずれかでした。

A. スクリプトタグでrequire.js以外のスタンドアロンバンドルをロードする前にrequire.jsが読み込まれているか、

B. require.js を使用してロードする(スクリプトタグの代わりに)

おすすめ記事