Web サイトのすべての JavaScript コードに対して単一の構成オブジェクトを作成することに関心があります。このセットアップの例であるhttps://github.com/requirejs/example-multipage-shimを見つけました。
https://github.com/requirejs/example-multipage-shim (私の強調)から: shim 構成では、page1.html に data-main="js/page1" を使用する代わりに、依存関係をページに含める必要があるため、この例では、HTML ページの require 呼び出しをインライン化します。代わりに data-main が使用された場合、'js/page1' は依存関係をインライン化できず、代わりに 'common' および 'app/main1' ビルド レイヤーに依存してモジュールを保持します。ビルド上。
太字の文がわかりません。「js/page1」が存在する場合、依存関係を宣言できなかったということですか? 依存関係をインライン化するとはどういう意味ですか? 何にインライン?HTML ファイルですか、それとも JavaScript ファイルですか。
シム構成に関する API ドキュメントを読みましたが、オプティマイザーに課せられる制限が明確ではありません。
https://github.com/requirejs/example-multipage-shim/blob/master/www/page1.htmlから:
<script src="js/lib/require.js"></script>
<script>
//Load common code that includes config, then load the app
//logic for this page. Do the require calls here instead of
//a separate file so after a build there are only 2 HTTP
//requests instead of three.
require(['./js/common'], function (common) {
//js/common sets the baseUrl to be js/ so
//can just ask for 'app/main1' here instead
//of 'js/app/main1'
require(['app/main1']);
});
</script>
以下が間違っているのはなぜですか?「app/main1」がブートストラップ (data-main) コードとは別のモジュールにある必要があるのはなぜですか?
<script src="js/lib/require.js"></script>
<script>
require(['js/common'], function (common) {
var underscore = require('underscore');
// ...
});
</script>