5

再会!

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

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

一般来说,我都可以。

I've looked on a number of solutions (and I use ASP.NET handler from this article http://www.codeproject.com/KB/aspnet/httpcompression.aspx a lot), but maybe something "must have" came out and I've missed it.

Thanks in advance!

4

3 回答 3

6

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

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

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

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

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

希望这可以帮助。

于 2011-01-11T00:27:07.447 回答
2

Moth 可以(除其他外)即时处理您的所有 javascript / css 请求。请参阅Wiki:Javascript

最重要的是,它还可以将所有 javascript 放在页面底部,包括您在局部视图中编写的部分!维基:内联脚本

于 2011-08-29T17:53:20.450 回答
2

我将Telerik mvc 组件用于中小型站点。使用 NuGet 添加和配置非常简单。

于 2011-01-10T21:59:35.997 回答