浅谈ASP.NET中MVC 4 的JS/CSS打包压缩功能
程序员文章站
2023-12-22 16:06:52
今天在使用mvc4打包压缩功能@scripts.render("~/bundles/jquery") 的时候产生了一些疑惑,问什么在app_start文件夹下bundlec...
今天在使用mvc4打包压缩功能@scripts.render("~/bundles/jquery") 的时候产生了一些疑惑,问什么在app_start文件夹下bundleconfig.cs文件内
bundles.add(new scriptbundle("~/bundles/jquery").include( "~/scripts/jquery-{version}.js", "~/scripts/jquery.unobtrusive-ajax.js" ));
这样写可以,但是
bundles.add(new scriptbundle("~/bundles/jquery").include( "~/scripts/jquery-{version}.js", "~/scripts/jquery.unobtrusive-ajax.min.js" ));
这样写却不可以,我的目录里明明有
"~/scripts/jquery.unobtrusive-ajax.min.js"
这个文件啊
通过调试跟踪发现,mvc内部已经对“.min.js”文件做了过滤
通过反编译这个dll文件
可以看到下面反编译后的代码:
public static void adddefaultignorepatterns(ignorelist ignorelist) { if (ignorelist == null) { throw new argumentnullexception("ignorelist"); } 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); }
由此我们可以知道mvc默认帮我们过滤了后缀名为 .intellisense.js、-vsdoc.js、.debug.js、.min.js、.min.css的文件,这也就是我们引用.min.js文件不起作用的原因了。
以上所述就是本文的全部内容了,希望大家能够喜欢。