当前位置:  开发笔记 > 编程语言 > 正文

脚本缩小和与MSBuild的持续集成

如何解决《脚本缩小和与MSBuild的持续集成》经验,为你挑选了1个好方法。

在我最近在C#/ ASP.NET上工作的一个项目中,我有一些相当复杂的JavaScript文件和一些漂亮的样式表.当这些脚本资源的大小增加时,建议尽量缩小资源并保持网页尽可能轻便.我知道很多开发人员在调试之后将他们的JavaScript资源手工提供给压缩器然后部署他们的应用程序.

在令人满意的持续集成世界中进行源代码控制和自动构建(谢谢CruiseControl.NET); 手压缩根本就不行.维护源代码控制和提供压缩资源的唯一方法是将JS/CSS源及其缩小的兄弟保持在单独的目录结构中.然后在代码隐藏中只注册一组资源或另一组资源.但是,如果开发人员对JS/CSS源进行了更改,然后无法重新压缩它并检入两个版本,那么您的代码行现在就不同步了.更不用说优雅了.

我认为为CC.NET任务块编写一个自定义可执行文件(如果还不存在)会很好,它可以在构建操作之后但在asp之前找到并压缩目标目录中的所有JavaScript和CSS资源.net发布到目标.这样,开发人员只能处理JS和CSS源,用户只能获得最小化的资源.

是否有应用程序已经执行此任务,如果没有,我应该在构建服务器上安装哪种资源以使CC.NET执行?

(我在这里找到的最接近的问题是需要NAnt,在我的情况下这不是一个选项.)

编辑: 戴夫沃德现在有一篇很棒的文章,关于如何在他的网站上自动缩小Visual Studio.



1> Todd..:

该MSBuildCommunityTasks项目有可能你在找什么,包括合并和JSCompress一些MSBuild任务.

您可以将这些添加到AfterBuild目标中的MSBuild项目中,以允许项目在每次构建项目时执行此操作,并且不会出现任何不同步的情况.然后,您的Web应用程序可以引用压缩版本进行运行,但开发人员可以编辑完整版本.

除了MSBuild社区任务程序集之外,服务器上不需要任何其他内容.您可以将此程序集放在您自己的源代码树中并从那里引用,您的CI构建应该在构建时获得该程序集及其所需的一切.


嘿,太棒了,我今晚要把它放到StackOverflow中,谷歌搜索出现了我们的网站!怎么样,所以!好的答案,托德+1
推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有