javascript や css ファイルなどの静的リソースの取得方法を変更することで、ASP.net MVC 4 プロジェクト (VB.net) に静的リソースの改善を実装しようとしています。
これを達成するために、このリンク ( ASP.NET & MVC 4: Cookieless domain for bundle and static resources ) をたどっていますが、バンドルされていない javascript および css ファイルがレンダリングされないという問題に遭遇しました。
通常、.js または .css バンドルをレンダリングするときは、次を使用します。
@Scripts.Render("~/bundles/jquery")
これにより、開発モードでは ~/bundles/jquery バンドル内の各スクリプト タグが個別にレンダリングされ、本番環境では縮小されたバンドルを指す単一のスクリプト タグがレンダリングされます。
上記のリンクによると、スクリプトが単一のファイルにバンドルされている場合、次の行を使用できます。
<script src="@Url.StaticContent("~/bundles/jquery")" type="text/javascript"></script>
src プロパティが有効であり、 StaticContent 関数が src URL を変更できるため、これはバンドルされたファイルに対してはうまく機能します。ただし、開発モードでは、バンドルが行われず、すべてのスクリプトが@Scripts.Renderによってブラウザーに個別にレンダリングされるため、バンドルされたファイルは存在しないため、このメソッドは機能しません。
私が必要とすることを達成する Scripts ヘルパーの拡張メソッドを作成できるかどうか、またはこのようなことをしなければならないかどうか、誰かが知っていますか?
@If Misc.IsLocalDev Then
@Scripts.Render("~/bundles/jquery")
Else
@<script src="@Url.StaticContent("~/bundles/jquery")" type="text/javascript"></script>
End If