【发布时间】:2010-09-21 16:32:27
【问题描述】:
在我最近使用 C#/ASP.NET 进行的一个项目中,我有一些相当复杂的 JavaScript 文件和一些漂亮的样式表。当然,随着这些脚本资源的大小增加,is advisable to minify the resources 并让您的网页尽可能轻巧。我知道许多开发人员在调试后将 JavaScript 资源手动输入到压缩器中,然后部署他们的应用程序。
在令人满意的持续集成世界中涉及源代码控制和自动化构建(谢谢CruiseControl.NET);手压根本不行。维护源代码控制和提供压缩资源的唯一方法是将 JS/CSS 源代码及其缩小的兄弟保存在单独的目录结构中。然后在代码隐藏中仅注册一组资源或另一组。但是,如果开发人员对 JS/CSS 源代码进行了更改,然后无法重新压缩它并检查两个版本,那么您的代码行现在不同步了。更别提不雅了。
我认为为 CC.NET 任务块编写一个自定义可执行文件(如果尚不存在)会很好,该任务块将在构建操作后查找并压缩目标目录中的所有 JavaScript 和 CSS 资源,但是在 asp.net 发布到目标之前。这样,开发者只需要处理 JS 和 CSS 源代码,而用户只能获得缩小的资源。
是否有已执行此任务的应用程序,如果没有,我应该在构建服务器上安装哪种资源以执行 CC.NET?
(closest question 我可以在这里找到这个必需的 NAnt,在我的情况下这不是一个选项。)
编辑: Dave Ward 现在在他的网站上有一篇关于 how to automatically minify in Visual Studio 的精彩文章。
【问题讨论】:
-
通过缩小我认为你的意思是最小化...
-
没有。我的意思是缩小(en.wikipedia.org/wiki/Minify),但我认为它是一个或十几个中的 12 个。我相信这两个术语是可以互换的。
标签: javascript msbuild continuous-integration build-automation minify