10

具体的には、既に縮小されたスクリプトを使用して MVC 4 で ScriptBundle を作成し、プロジェクトがデバッグ中かどうかに関係なく、この同じバンドルを返そうとしています。

私の Web プロジェクトは、MVC Telerik Grid NuGet パッケージを参照しています。そのパッケージでは、Telerik は縮小された JS ファイルのみを提供します。バンドルコードは以下です。

        // telerik scripts
        bundles.Add(new ScriptBundle("~/scripts/bundles/telerik").Include(
            "~/Scripts/2012.1.214/telerik.common.min.js",
            "~/Scripts/2012.1.214/telerik.textbox.min.js",
            "~/Scripts/2012.1.214/telerik.calendar.min.js",
            "~/Scripts/2012.1.214/telerik.datepicker.min.js",
            "~/Scripts/2012.1.214/telerik.grid.min.js",
            "~/Scripts/2012.1.214/telerik.grid.filtering.min.js"));

他の ScriptBundles は問題なく動作しますが、私のプロジェクトがこのバンドルを参照しようとすると、リクエストは次のように表示されますscripts/bundles/telerik?v=

を設定BundleTable.EnableOptimizations = trueすると、ScriptBundle が返され、特定のバージョンが参照されますが、この解決策は受け入れられません。

BundleTable.EnableOptimizations = true必要に応じて、他のすべてのバンドルが縮小されていないバージョンを返すようにするため、 強制的に を設定したくありません。

似たような経験をしたことがある方、もしそうなら解決策は何ですか?

4

1 に答える 1

17

あなたも同じ問題を抱えていると思います。このリンクを見てください: mvc4 bundler not included .min files

.min.js の名前を .js に変更するか、次のようにします。

    public static void AddDefaultIgnorePatterns(IgnoreList ignoreList)
    {
        if (ignoreList == null)
            throw new ArgumentNullException("ignoreList");

        ignoreList.Clear();

        ignoreList.Ignore("*.intellisense.js");
        ignoreList.Ignore("*-vsdoc.js");
        ignoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled);
        //ignoreList.Ignore("*.min.js", OptimizationMode.WhenDisabled);
        ignoreList.Ignore("*.min.css", OptimizationMode.WhenDisabled);
    }
于 2012-09-24T17:26:24.693 に答える