控えめなJavaScriptガイドラインを維持するために、すべてのJavaScriptを各ビューから個別の.jsファイルに移動しました。
ただし、1つのビュー内で、いくつかのJavaScript変数を動的に作成して、これらがViewBagに挿入され、ビューに直接レンダリングされるようにする必要があります。
$(document).ready(function () {
@(ViewBag.PrePop)
@(ViewBag.PreDiscount)
});
これは、新しいASP.netのバンドルおよびミニファイ機能を使用するまでは問題なく機能します。
これらすべての小さな外部JavaScriptファイルをバンドルしてから、すべてのページから結合されたスクリプトを呼び出すと、すべてのページ(ViewBagで発行された変数を含むページを除く)に変数参照エラーが発生します。
Uncaught ReferenceError: quotes is not defined
つまり、これは基本的に、この特定のJavaScriptファイルをバンドルできないことを意味します。
ただし、縮小したいと思います。これを行うには、JavaScriptファイルを1つだけ含むバンドルを宣言しますか?
bundles.Add(new ScriptBundle("~/bundles/mypagescript").Include(
"~/Scripts/mypagescript.js"));
または、ミニファイのみを実行する別の方法はありますか?