gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 23:26:55 25 4
gpt4 key购买 nike

在我最近使用 C#/ASP.NET 进行的一个项目中,我有一些相当复杂的 JavaScript 文件和一些漂亮的样式表。随着这些脚本资源大小的增加,is advisable to minify the resources当然,并使您的网页尽可能简单。我知道许多开发人员在调试后将 JavaScript 资源手动输入压缩器,然后部署他们的应用程序。

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

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

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

(closest question 我可以在这里找到这个所需的 NAnt,这在我的情况下不是一个选项。)

编辑:Dave Ward 现在有一篇关于 how to automatically minify in Visual Studio 的精彩文章在他的网站上。

最佳答案

MSBuildCommunityTasks Project有一些 MSBuild 任务可以满足您的需求,包括 Merge 和 JScompress。

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

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

关于javascript - 脚本缩小和与 MSBuild 的持续集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/278890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com