1

我们即将启动一个新的相当大的 .NET 4.5 项目,我们正在寻找一种解决方案来处理我们的静态资产,例如 Javascript 和 CSS 文件。简而言之,我们希望它是一个易于在开发环境中开发和调试的解决方案,并在生产中实现最高性能和缓存控制。

要求

  • 必须支持LESS。
  • 必须能够控制捆绑的 JS/CSS 文件的顺序。
  • 必须能够捆绑目录中的文件子集,而不是每个文件。
  • 文件哈希或最后修改的时间戳必须作为查询字符串附加到 CSS/JS 文件名(例如 main.js?3B1F88A7),以在文件更新时中断客户端缓存。
  • 如果 web.config 编译调试设置为“开”,我想将文件作为单独的脚本/链接标签包含在内,以简化开发和调试(开发模式)。
  • 如果 web.config 编译调试设置为“关闭”,我想将文件缩小并捆绑到单个 CSS/JS 文件并设置积极的缓存标头(生产模式)。
  • 捆绑和缩小是在用户请求页面时完成的,而不是构建后的脚本。
  • 必须能够在同一网站中拥有多个 JS/CSS 捆绑包,以支持多个网站/某些子页面上的不同捆绑包。
  • 必须支持具有多个服务器的生产环境。

很高兴有

  • 如果它不破坏智能感知(CSS 类名等),那就太好了。

我确实查看了 .NET 4.5 中的新缩小和捆绑工具(http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4 -5-series.aspx),我还检查了 Cassette (http://getcassette.net/),但据我所知,它们都不符合我们“开箱即用”的所有要求。

那么,您认为最佳做法是什么?我们应该使用第三方解决方案,如 Cassette,一种基于 .NET 4.5 功能的定制解决方案(我喜欢这个,因为它是“标准 .NET”,但不支持 .LESS)还是完全不同的东西?

欢迎任何想法或想法!

4

1 回答 1

3

我认为SquishIt是您正在寻找的解决方案

于 2013-02-22T09:05:28.173 回答