web-dev-qa-db-ja.com

RequireJSJavascriptコードベースを単一のファイルに縮小

私はRequireJSを初めて使用します。これはすでに議論されている問題かもしれませんが、これについて明確な答えや意見を見つけることができませんでした。

RequireJSで動作するアプリケーションがあります。必要に応じて、Requireによって読み込まれるJavaScriptファイルがたくさんあります。期待どおりに機能しています。

Fiddlerインスペクターを見ると、アプリケーションの起動時にファイルがロードされたことがわかりましたall。 Requireは、JavaScriptファイルへのすべての参照を深くトラバースし、最初にそれらをすべてロードしたと思います。

これが機能する方法である場合は、単一のファイルを生成し、それを縮小して、<script>htmlタグを使用してロードする方がよいと思います。

すべてのスクリプトを含む単一のファイルを生成し、それらを<script>でプリロードした場合、RequireJSはそれらを再度ロードしますか?

私は何か間違ったことをしていますか?

実稼働環境では、より良い解決策は何でしょうか?

前もって感謝します。

24
mvbaffa

必要なのは RequireJS Optimizer です。

オプティマイザーは次のことを行います(ドキュメントから):

  • 関連するスクリプトをビルドレイヤーに結合し、UglifyJS(デフォルト)またはClosureコンパイラ(Javaを使用する場合のオプション)を介してそれらを最小化します。
  • @importによって参照されるCSSファイルをインライン化し、コメントを削除することにより、CSSを最適化します。

これが 1つの記事 このトピックに関する詳細な参照です。

オプティマイザーを含むコマンドラインツールである r.js もご覧ください。 r.jsを使用すると、アプリケーションファイルmain.jsから次の方法で最適化されたビルドを生成できます。

node r.js -o build.js

ここで、build.jsは、ビルドプロファイル(baseUrlpathsなど)を含むrequirejs構成ファイルです。

17
Chris Salzberg