asp.net-mvc - 合并、最小化和 gzip ASP.NET MVC 的 CSS 和 JavaScript 文件

标签 asp.net-mvc gzip minimize

美好的一天!

我正在寻找组合、最小化和 gzip CSS 和 JavaScript 文件的解决方案。它们似乎有两种形式:

  • 采用 ASP.NET 处理程序\模块的形式,可动态处理文件(带有缓存结果)
  • 以 VS 构建任务的形式(在构建时执行处理)

一般来说我都可以。

我查看了许多解决方案(并且我经常使用本文 http://www.codeproject.com/KB/aspnet/httpcompression.aspx 中的 ASP.NET 处理程序),但也许出现了“必须有”的东西,但我错过了。

提前致谢!

最佳答案

这是我给您的建议:使用构建任务并使用 HTTP 缓存输出。

在构建任务方面,您需要查看您最喜欢的 JavaScript 压缩器(我最喜欢的是 Google Closure Minifier ),它有一个命令行实用程序,您可以将其插入项目文件、MSBUILD 文件或 NANT 文件中。 CSS 也同样处理(我个人使用 Yahoo! YUI Compressor )。如果您想使用LESS ,您当然可以将其与 YUI 压缩器结合起来。为了优化图像,我会使用 optipng 。有关于这些人如何在其个人网站上工作的说明。

现在,在您完成这些文件并进行优化之后,您将需要使用 MVC 的处理程序或 Controller 操作来输出它们。要设置过期时间以便后续请求默认为第一个请求时下载的文件,您需要在代码中运行它:

Response.ExpiresAbsolute = DateTime.Now.AddYears(1);

您很可能需要缓存破坏策略,以便可以更改内容文件。您可以通过将随机参数传递给处理程序来完成此操作。有几种不同的方法可以解决这个问题……只需谷歌一下即可。

希望这有帮助。

关于asp.net-mvc - 合并、最小化和 gzip ASP.NET MVC 的 CSS 和 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4651820/

相关文章:

asp.net-mvc - ASP.NET MVC 3 : Which dll's need to be deployed?

c# - 创建模型类还是坚持使用通用数据库实用程序类更好?

c# - 分两步将复选框值从 View 发送到 Controller ?

javascript - 在 jQuery 中,如何通过 http 获取 gzip 文件?

c# - WPF 在任务栏上最小化单击

.net - MVC3项目升级到VS2012后出现AccessViolationException

java - 在 Java 中创建包含几个文件的 .gz 文件

https - 使用 HTTPS 时是否需要/想要 gzip 压缩?

windows - 当窗口最小化和恢复时,Pyqt 码头被隐藏

javascript - 将 Firebug Lite 添加到 JSFiddle 以最小化启动