有没有在MVC中结合JS/CSS的经验?

PB.*_*PB. 10 compression model-view-controller asp.net-mvc optimization telerik

我打算在我的MVC项目中实现一个将多个js/css文件组合成单个文件的解决方案,但目前我怀疑以下两种可能性:

ASP.NET MVC的Telerik扩展(www.telerik.com/products/aspnet-mvc.aspx)

  • 支持将多个文件合并为一个请求
  • 支持Web资产组
  • 支持缓存组
  • 应用程序处于调试模式时禁用缓存
  • 必须在母版页或(部分)视图中定义资产组
  • 支持GZip压缩
  • 支持CDN
  • 不仅仅是压缩/组合解决方案(例如JQuery助手)

Combres - WebForm和MVC客户端资源组合库(combres.codeplex.com)

  • 支持将多个文件合并为一个请求
  • 支持缩小资源
  • 支持Web资产组
  • 支持缓存组
  • 支持组的版本(使浏览器的缓存和服务器的缓存无效)
  • 支持debugmode(禁用缓存/缩小)
  • 必须在Web配置部分中定义资产组
  • 支持GZip压缩
  • 必须添加自定义路由
  • 支持自定义过滤器
  • 使用YUI Compressor库

有没有人有这些或其他组合解决方案的经验?我对YSlow分数(之前和之后)和/或压缩统计/表现特别感兴趣.

小智 1

您是否计划在 Telerik MVC 扩展推出后使用它们?如果是这样,那么他们的脚本组合器似乎是一个自然的选择,因为他们的小部件与之集成......

如果您要使用来自多个来源的脚本和 css 资源,那么在您选择的构建环境中使用一个好的老式构建脚本怎么样?

  • 通常很容易设置构建工具来合并文本文件并运行外部压缩器。
  • 使用构建工具非常适合持续集成和一步部署。
  • 您可以轻松地从单独的无 cookie 域执行静态文件服务,以获得最大的下载速度和最小的服务器开销。
  • 如果需要的话,以后可以轻松添加 CDN。(AFAIK Teleriks 解决方案可以链接到 CDN 上已有的文件,但无法缩小本地文件并将其上传到 CDN。)

我对 YSlow 分数(之前和之后)和/或压缩统计/性能特别感兴趣。

不要太担心所实现的压缩中的几个百分比差异,或者不是严格需要的单个 HTTP 标头。如果您只是在可能的情况下合并文件,请缩小空白、启用 HTTP 压缩并设置适当的缓存标头;那么你就远远领先于其他网站的平均水平......

如果您希望在 MVC 中保持缩小,那么它可以归结为库的成熟度(恕我直言)。我不知道现在哪个应该是首选。但也看看 IncludeCombiner;它现在是MVCContrib 的一部分,因此将来会得到大量曝光。