このことを考慮:
<script src='global.js'></script>
<script src='require.js'></script>
<script>
require(['modular_foo'], function() {
//do stuff
});
...そして、global.js 内には、とりわけ次のものがあります。
//global.js
$.getScript("modular_bar.js");
ここで、module_foo と modules_bar はどちらも匿名で定義された AMD モジュールです。requireJS を使用して上記のようなものをロードすると、私たちのお気に入りのエラー、不一致の匿名の define() モジュールが発生します。
そのエラーが発生する理由については十分に問題ありませんが (知りたい場合はそのページを読んでください)、問題は、この状況から抜け出せない場合はどうなるかということです。
私は確立されたプラットフォームで作業していますが、RJS フローに非常に徐々に移行しています。今のところ、インラインのレガシー スクリプト (define() をトリガーする AMD チェックがあるものもあります) と requireJS エントリポイントの両方を同時に使用する方法はありません。 .
場合によっては、require.js ライブラリをロードする上に AMD 互換のインライン スクリプトを配置するだけで済みますが、DOM コンテンツに応じて他のもの (modular_bar.js) を非同期にロードする必要がある場合はうまくいきません。また、RJS に外部からロードされるこれらのファイルからすべての AMD チェックをコメントアウトすることもできますが、これにより、モジュラー フローでロードされることと互換性がなくなることを防ぎます。
誰か同じような経験をした人はいますか?この種の対立を克服するために、どのようにフローをブレンドしますか?