结合,最小化和gzip为ASP.NET MVC的CSS和JavaScript文件

art*_*olk 5 asp.net-mvc gzip minimize

美好的一天!

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

  • 以处理器文件的ASP.NET处理程序\模块的形式(具有缓存结果)
  • 以VS构建任务的形式(在构建时执行处理)

一般来说,我也可以.

我已经看了很多解决方案(我在本文中使用ASP.NET处理程序http://www.codeproject.com/KB/aspnet/httpcompression.aspx很多),但也许"必须有"的东西出来了我错过了

提前致谢!

zow*_*ens 6

以下是我给你的建议:使用构建任务和HTTP缓存输出.

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

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

Response.ExpiresAbsolute = DateTime.Now.AddYears(1);
Run Code Online (Sandbox Code Playgroud)

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

希望这可以帮助.