Alb*_*afe 23 c# asp.net-mvc bundle bundling-and-minification
我正在使用ASP.net MVC 4.就像问题所述,如果我将一堆JS文件(或CSS,就此而言)放入一个包中,它会自动缩小吗?例如,我的包应该是:
bundles.Add(new ScriptBundle("~/bundles/exampleBundle").Include(
"~/Scripts/jquery-masked.js"
"~/Scripts/jquery.idletimer.js"
));
Run Code Online (Sandbox Code Playgroud)
或者它应该最初包括缩小的文件:
bundles.Add(new ScriptBundle("~/bundles/exampleBundle").Include(
"~/Scripts/jquery-masked.min.js"
"~/Scripts/jquery.idletimer.min.js"
));
Run Code Online (Sandbox Code Playgroud)
??
编辑:现在我想知道捆绑.min文件是否会添加任何优化.它是否会提高性能,包括捆绑包中的.min文件而不是基本文件?(也许"minifier函数"需要一些时间?)
Cla*_*edi 25
您不必包含缩小文件,这些文件由捆绑引擎自动完成.事实上,我记得包括缩小文件引起的问题(也许这是在最新的mvc版本上修复的)
您可能认为这不起作用,因为优化(捆绑和缩小)仅debug=false在web.config上执行.
<system.web>
<compilation debug="false" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
有一种方法可以在debug = true使用时强制优化BundleTable.EnableOptimizations.这里有一个例子
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
BundleTable.EnableOptimizations = true;
}
Run Code Online (Sandbox Code Playgroud)
Cla*_*ies 24
Asp.Net捆绑包将同一捆绑包中的所有脚本捆绑到一个文件中,按捆绑包中定义的顺序列出.然后将该单个文件缩小并传送到客户端.
如果在脚本目录中包含脚本的正常版本和缩小版本,则捆绑程序将在调试会话期间自动部署完整脚本,并在生产期间自动部署缩小版本.除非您希望将缩小版本部署到调试会话中,否则应避免在捆绑配置中引用脚本的缩小版本.