ASP.NET MVC3 でエンタープライズ アプリケーションの開発に取り組んでいます。もちろん、さまざまなマスター レイアウトと複数のビューがあります。
私の懸念
- マスター レイアウトにすべての js/css ファイルを含めると、ページのパフォーマンスに影響する可能性があります
- ビューにファイルを含める (必要な場合) と、重複した参照が作成されます (キックオフ jquery/その他のライブラリ)
- 参照が多いほど、クライアントとサーバー間のやり取りのリクエストが多くなり、出力ページのパフォーマンスに影響します。
私の考え
- 必要なリソースのカスタム リストを作成し、ViewBag に保存します。マスター レイアウトがこのオブジェクトを参照して、js/css ファイルを含めるようにします。
- または、いくつかのキー (レンダリングされるページを識別するための一意の値) を持つアクションを参照するリンクを追加し、必要なすべてのリソースを単一の応答として動的に出力を生成します。そして、後続のリクエストの一意のキーを使用して出力 (inmem/staticfile) をキャッシュします。カスタム リソース バンドルの一種。
あなたのアイデアを共有してください、どんな考えや提案も大歓迎です!
編集:2012年9月17日
以下の回答では、Web アプリケーション開発の世界における最適化手法について詳しく説明しています。これらの回答に感謝しています。
レンダリングされるページに必要な動的リソース コレクションの作成に焦点を当てて、アーキテクチャの観点から説明したいと思います。
たとえば、特定のビューでは、jquery-ui-1.8.11.min.js を必要とする jQuery UI を使用したいと考えています。特定のビューでは、MicrosoftMvcAjax.js と jquery.unobtrusive-ajax を必要とする MVC3 ajax を使用したいと考えています。 min.js
マスター レイアウトに永続的な参照を含めたくありません。これにより、これらの js がすべてのビューに読み込まれます。むしろ、実行時にjsファイルを動的に含めたいと思います。
これにより明確さが増したことを願っています!
助けてくれてありがとう - Vinod