ここで説明されているように JavaScript を整理しました: https://stackoverflow.com/a/10816983/83897。
複数の異なるページを持つ JavaScript を多用する ASP.NET アプリケーションがあります (単一ページのアプリケーションではありません)。各ページには異なる依存関係があるため、ページごとの .js ファイル (page1.js、page2.js など) があります。それぞれに require() 呼び出しがあり、依存関係を宣言します。
require(['jquery', 'page1Module'], function($, module){
// page1 specific stuff here
});
これはうまくいきます。私が疑問に思っているのは、RequireJS ビルド プロセスがどのように機能するかということです。ページごとの「ビルド」.js ファイル (page1-build.js、page2-build.js など) が必要だと思いますか? 利用できる既存のソフトウェアはありますか?
プロセスは次のようになります。
- 特定のスクリプトのすべての依存関係を、一時ディレクトリ内の 1 つの build.js ファイルにコンパイルします。
- コンパイルされたファイルの MD5 フィンガープリントを計算します。
- そのフィンガープリントを public/assets 内の同等のファイルと比較します。
- インメモリ RequireJS マニフェストを作成し、各モジュールをコンパイル済みファイルにマッピングします。このマニフェストをコンパイル済みファイルに追加します。
- どういうわけか、本番環境でビルド ファイルを使用するようにします。
編集:少し考えた後、node + r.js を使用した RequireJS の最適化は、アセットの構築が他のサードパーティ ライブラリに依存する、より大きなアセット構築プロセスの一部になると考えています。RequireJS 最適化は、特定の JavaScript 依存関係 (つまり、見つかった依存関係を含む各ページの JavaScript ファイル) に対して単純に使用され、おそらく XML 構成で指定されます。