gpt4 book ai didi

asp.net-mvc - 为什么 Scripts.Render 会调用 JsMinify.Process?

转载 作者:行者123 更新时间:2023-12-02 07:44:40 26 4
gpt4 key购买 nike

我分析了我的 ASP.NET MVC 应用程序,我看到了奇怪的函数调用。

你可以在图片上看到它

enter image description here

当mvc渲染布局时,我们总是调用system.web.optimization.scripts.render,它会调用JsMinify.ProcessMinifier.MinifyJavaScript,但我认为在启动应用程序时应该进行一次缩小。

我说得对吗?

也许我必须设置一些设置来优化它?

条件:

  • 本地主机
  • 发布
  • BundleTable.EnableOptimizations = true;

最佳答案

好问题!

直观上,您是对的,应该在应用程序启动时执行 Assets 缩小。您假设 Assets 以相同的方式交付给所有浏览器。但微软认为 JS 和 CSS 的大部分内容是特定于浏览器的。

如果您检查 ASP.NET 站点关于 ASP.NET 4.5 Bundling and Minification 的引用,他们特别指出:

Bundling and minification in ASP.NET 4.5 is performed at runtime, so that the process can identify the user agent (for example IE, Mozilla, etc) , and thus, improve the compression by targeting the user browser (for instance, removing stuff that is Mozilla specific when the request comes from IE).

:

<小时/>

缓存怎么样?

bundle 并不像您想象的那样迟钝。如果你查找MVC 4 Bundling and Minification 引用,他们指出:

Bundle Caching

Bundles set the HTTP Expires Header one year from when the bundle is created. If you navigate to a previously viewed page, Fiddler shows IE does not make a conditional request for the bundle, that is, there are no HTTP GET requests from IE for the bundles and no HTTP 304 responses from the server.

这比您需要的信息要多得多,但消息是,JSMinify 会检查相关的缓存缩小 Assets 。

当您进一步考虑到我们已经使用了 Assets 的缩小版本(例如 jquery.min.js、jquery-ui.min.js)时,您会发现 .Net 缩小是一个补充过程。

为什么所有类型都必须进行缩小

关于asp.net-mvc - 为什么 Scripts.Render 会调用 JsMinify.Process?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24280851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com