9

AMD は、必要に応じて JavaScript モジュールをロードするベスト プラクティスのようです。

これは、ユーザーが利用可能な機能の一部しか使用しない大規模な Web アプリでうまく機能するはずです。

必要なすべてのモジュールを単一のファイルに連結するオプティマイザについて読んだことがあります。また、最適化なし、つまり各モジュールを非同期リクエストでロードすることについて読んだことがあります。

両方ともこのユースケースに適合していないようです: すべてのモジュールをリクエストでロードするとすぐに多数のリクエストが発生する可能性がありますが、最適化するとすべてのコードをダウンロードする必要があります。

複数のモジュールを 1 つのファイルにまとめる方法はありますか?

4

2 に答える 2

9

はい。一般に、アプリケーションを非常に多くのファイルに分割して AMD でロードすることは、開発にのみ有効です。コードをクリーンで理解しやすいものに保つのに役立ちます。各モジュールにビュー、モデル、コントローラーが含まれており、それぞれが個別のファイルであることは非常に論理的です。

しかし、その大量のリクエストは本番環境では意味がありません。したがって、パフォーマンスとユーザー エクスペリエンスを向上させるために、オプティマイザーを使用してファイルを 1 つ (またはいくつか) にコンパイルおよび最小化する必要があります。

RequireJS を使用している場合は、 http: //requirejs.org/docs/optimization.html#wholeproject を参照してください— r.jsRequireJS が提供するツールの使用方法が説明されています。

たとえば、アプリケーションがパブリック エリア、管理、およびそれぞれが数百のビュー/モデル/コントローラーで構築された非常に複雑なサインアップ フォームで構成されている場合、コードを 4 つのファイル(common、public、admin、sign_up) にコンパイルすることになるでしょう。次に、ユーザーが特定のゾーンに入ると、適切なファイルが非同期にロードされます。

于 2012-08-15T22:14:03.787 に答える
6

RequireJS は、最適化ツールでこのユースケースをサポートしています。

build.js を適切に構成すると、複数のモジュールを複数のファイルにバンドルするように構成できます。

このサンプル プロジェクトに示すように、それらのマッピングはbuild.jsで定義できます。

于 2012-08-19T16:13:46.733 に答える