閲覧中にこのエラーが発生しますウェブアプリ初めての場合(通常はキャッシュが無効になっているブラウザの場合)。
エラー: 一致しない匿名の 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
});
});
このエラーが正確に何を意味し、なぜ発生するのか知っている人はいますか?
ベストアンサー1
AlienWebguyが言ったように、ドキュメントによると、require.jsは爆発する可能性があるもし
- 匿名の定義("文字列IDなしでdefine()を呼び出すモジュール") を独自のスクリプト タグで指定します (実際にはグローバル スコープ内の任意の場所を意味するものと想定します)
- 名前が競合するモジュールがあります
- ローダープラグインや匿名モジュールを使用しているが、それらをバンドルするために require.js のオプティマイザーを使用していない
この問題は、require.js モジュールと一緒に browserify でビルドされたバンドルを組み込むときに発生しました。解決策は次のいずれかでした。
A. スクリプトタグでrequire.js以外のスタンドアロンバンドルをロードする前にrequire.jsが読み込まれているか、
B. require.js を使用してロードする(スクリプトタグの代わりに)