0

デバッグモードで実行されているMVC4C#Webサイトでは、「BundleConfig」ファイルのコードは次のとおりです。

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
                "~/Scripts/jquery-1.8.2.min.js", 
                "~/Scripts/jquery.simplemodal.js", 
                "~/Scripts/jquery-ui-1.9.2.custom.min.js", 
                "~/Scripts/jquery.validate.js", 
                "~/Scripts/jquery.validate.unobtrusive.min.js", 
                "~/Scripts/site.js", 
                "~/Scripts/jquery.watermark.js", 
                "~/Scripts/jquery.signalR-0.5.3.min.js" ,
                "~/Scripts/jquery.dataTables.js"

web.configで、debug="true"

Firebugを開くと、[net-> js]タブのセクションで、jsを縮小しないための呼び出しのみが行われていることがわかります。すべてのminifyjsファイルがクライアントから要求されているわけではありません。

私のレイアウトでは、私のコードは次のとおりです。

@Scripts.Render("~/bundles/scripts")

この問題は、nugetから「Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0」パッケージをインストールした後に始まりました...リリースモードでWebサイトを実行すると、すべて正常に機能します。not minify jsファイルがないので、デバッグモードで作業を続けたいと思います。どうすれば修正できますか?クライアントからjsを縮小するリクエストが発生しないのはなぜですか?

4

1 に答える 1

1

デバッグモードでバンドリングとミニファイを使用する場合、バンドリング/ミニファイは無効になります。

これをオーバーライドして、に追加することでバンドルとミニファイを強制できBundleTable.EnableOptimizations = true;ますRegisterBundles

public static void RegisterBundles(BundleCollection bundles)
{
    //your bundle code
    BundleTable.EnableOptimizations = true;
}

更新:あなたのコメントを見て、私はあなたの質問を誤解したようです。

デバッグモードでBundleTable.EnableOptimizations = false、の場合.min、ファイルのバージョンは使用されません。代わりに、ファイルの完全なデバッグバージョンが使用されます。したがって、スクリプトフォルダには両方のバージョンのファイルが含まれている必要があります。

jquery-1.9.1.min.js 
jquery-1.9.1.js

デバッグモードでjquery-1.9.1.jsは、が使用されます。リリースモードでjquery-1.9.1.min.jsは、が使用されます。

ファイルのバージョンが1つしかない場合は、ファイル名から「.min」を削除してください。

于 2013-02-18T22:35:56.480 に答える