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

Adm*_*eck 9 bundle asp.net-mvc-4 asp.net-optimization

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

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));
Run Code Online (Sandbox Code Playgroud)

我也有两个jquery-1.8.0.jsjquery-1.8.0.min.js包含在我的项目中.

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

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

Car*_*z T 7

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

<core enableTracing="false" ...>
     <js defaultMinifier="EdwardsJsMinifier" usePreMinifiedFiles="true">
Run Code Online (Sandbox Code Playgroud)


Hao*_*ung 0

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

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

  • 由于您只捆绑一个文件,并且它已经缩小,因此您可以创建一个普通的 Bundle 而不是 ScriptBundle,这永远不会缩小您的文件。 (2认同)