Asp.Net MVC Bundle不使用现有的.min.js

时间:2012-09-18 13:44:46

标签: asp.net-mvc-4 bundle asp.net-optimization

我正在使用Asp.Net MVC 4和内置的捆绑支持。在BundleConfig.cs中,我在RegisterBundles方法中添加了默认的jquery:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

我的项目中也包含jquery-1.8.0.jsjquery-1.8.0.min.js

调试时一切正常,但是当我设置debug="false"来测试捆绑时,它似乎正在缩小默认的jquery文件而不是使用现有的缩小版本。当我在项目中查看jquery的'min'版本时,它在顶部包含一个小注释,第一个方法定义是function(a,b)。当我在浏览器中查看输出时,注释丢失,第一个方法定义不同。

有没有人见过这个问题?如何让捆绑机制使用现有的.min文件而不是重新缩小?

3 个答案:

答案 0 :(得分:7)

可以通过在web.config中将属性usePreMinifiedFiles设置为true来设置

<core enableTracing="false" ...>
     <js defaultMinifier="EdwardsJsMinifier" usePreMinifiedFiles="true">

答案 1 :(得分:2)

使用通配符添加文件时,将排除名称中包含min的​​文件,尝试重命名文件而不使用名称中的min。

答案 2 :(得分:0)

是否有特殊原因您不希望文件被提醒?它应该是安全的。目前没有办法选择性地禁用部分缩小,基本上所有文件首先捆绑在一起,然后缩小整个捆绑。

但是当debug = false时,它应该使用jquery-1.8.0.min.js文件而不是jquery-1.8.0.js文件。