我介绍了我的ASP.NET MVC应用程序,我看到一个奇怪的函数调用。
你可以在图片上看到它
总是当 mvc 渲染布局时我们调用system.web.optimization.scripts.render
哪个调用JsMinify.Process
and Minifier.MinifyJavaScript
,但我想在启动应用程序时应该缩小一次。
我对吗?
也许我必须设置一些设置来优化它?
状况:
- 本地主机
- release
- BundleTable.EnableOptimizations = true;
好问题!
直观上,你是对的,资产缩小应该在应用程序上进行Startup。您假设资产以相同的方式交付给所有浏览器。但微软认为 JS 和 CSS 的大部分内容是特定于浏览器的。
如果您检查 asp.net 站点的参考ASP.NET 4.5 捆绑和缩小 http://www.asp.net/web-forms/tutorials/hands-on-labs/whats-new-in-aspnet-and-web-development-in-visual-studio-2012#Exercise4,他们特别指出:
ASP.NET 4.5 中的捆绑和缩小是在运行时执行的,因此
该进程可以识别用户代理(例如 IE、Mozilla、
等),从而通过针对用户浏览器来改进压缩
(例如,当
请求来自 IE)。
:
缓存怎么样?
捆绑并不像您想象的那样迟钝。如果你抬头看MVC 4 捆绑和缩小 http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification参考,他们指出:
捆绑缓存
捆绑包在捆绑包发布一年后设置 HTTP Expires 标头
创建的。如果您导航到以前查看过的页面,Fiddler 会显示 IE
不对bundle提出条件请求,即有
没有来自 IE 的 HTTP GET 请求,也没有 HTTP 304 响应
从服务器。
这比您需要的信息要多得多,但消息是,JSMinify 会检查相关的缓存缩小资产。
当您进一步考虑到我们已经使用了资产的缩小版本(例如 jquery.min.js、jquery-ui.min.js)时,您会发现 .Net 缩小是一个补充过程。
为什么所有类型都必须进行缩小
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)