在我最近在 C#/ASP.NET 中工作的一个项目中,我有一些相当复杂的 JavaScript 文件和一些漂亮的样式表。当然,随着这些脚本资源的大小不断增长,建议缩小资源并使您的网页尽可能轻巧。我知道许多开发人员在调试后将其 JavaScript 资源手动输入压缩器,然后部署他们的应用程序。
当谈到源代码控制和在令人满意的持续集成世界中自动构建时(感谢CruiseControl.NET);手压根本不行。维护源代码控制和提供压缩资源的唯一方法是将 JS/CSS 源代码及其缩小的兄弟保存在单独的目录结构中。然后在代码隐藏中仅注册一组资源或另一组。但是,如果开发人员对 JS/CSS 源代码进行了更改,然后无法重新压缩它并签入两个版本,那么您的代码行现在不同步了。更别提不雅了。
我认为最好为 CC.NET 任务块编写一个自定义可执行文件(如果尚不存在),它将在构建操作之后但在 asp 之前找到并压缩目标目录中的所有 JavaScript 和 CSS 资源.net 发布到目标。这样,开发人员将只使用 JS 和 CSS 源代码,而用户只能获得缩小的资源。
是否有已执行此任务的应用程序,如果没有,我应该在构建服务器上安装哪种资源以执行 CC.NET?
(我在这里能找到的最接近这个问题的问题需要 NAnt,在我的情况下这不是一个选项。)
编辑: Dave Ward 现在在他的网站 上有一篇关于如何在 Visual Studio 中自动缩小的精彩文章。