ASP.NET MVC 4 ScriptBundle返回空

Jos*_*hua 10 asp.net-mvc-4 bundling-and-minification

具体来说,我正在尝试使用已经缩小的脚本在MVC 4中创建ScriptBundle,并返回相同的Bundle,无论项目是否在Debug中.

我的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"));
Run Code Online (Sandbox Code Playgroud)

其他ScriptBundles运行正常,但是当我的项目尝试引用此包时,请求显示为:scripts/bundles/telerik?v= 什么都不返回.

如果我设置BundleTable.EnableOptimizations = true,那么它会返回ScriptBundle并引用特定版本,但是这个解决方案是不可接受的.

我不想强行设置BundleTable.EnableOptimizations = true,因为我希望所有其他Bundles在适当的时候返回非缩小版本.

任何人都有类似的经历,如果有,解决方案是什么?

web*_*per 17

我想你有同样的问题,请看这个链接:mvc4 bundler不包括.min文件

将.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);
    }
Run Code Online (Sandbox Code Playgroud)