具体来说,我试图在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"));
其他ScriptBundles运行正常,但是当我的项目尝试引用此包时,请求将显示为:scripts / bundles / telerik?v =不返回任何内容.
如果我设置BundleTable.EnableOptimizations = true,那么它返回ScriptBundle并引用一个特定的版本,但这个解决方案是不可接受的.
我不想强制设置BundleTable.EnableOptimizations = true,因为我希望所有其他Bundles在适当的时候返回非最小化的版本.
任何人都有类似的经验,如果是,那是什么解决方案?
解决方法
我想你有同样的问题,请看这个链接:
mvc4 bundler not including .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); }