【问题标题】:JS Compiler / Package Manager for use with version control用于版本控制的 JS 编译器/包管理器
【发布时间】:2012-09-12 19:09:03
【问题描述】:

我试图在这里掌握一些想法。并希望有人可以帮助澄清最佳做法。

团队或结对如何使用像 grunt.js 这样的 javascript 构建系统?

我真的很想将我们的大型 javascript 文件分解成更小的部分,现在转换为 AMD/Require 不是一个选项。

似乎最简单的方法是连接并缩小到主文件。我们正在使用版本控制 (SVN)。

所以我想知道这里的最佳做法是什么?

我们是否要求与生产文件不断冲突?其他团队如何处理这个问题?

希望我的问题足够清楚。

提前谢谢...

【问题讨论】:

    标签: javascript version-control build-automation package-managers gruntjs


    【解决方案1】:

    我们最近在我的组织中遇到了类似的困境。由于我们拥有大量的遗留 JavaScript 代码,因此无法选择使用 AMD 或 RequireJS。

    我们ultimately went with grunt 提出了一个连接和缩小的“构建”任务。然后,有一个完全独立的“部署”任务,用于 gzip 文件并上传到 Amazon S3。

    我们不会将串联/缩小的代码签入源代码控制。通常,为您的源代码设置单独的构建和部署任务是一种很好的操作实践。对于较大的开发团队,部署/构建过程通常在 CI 工具中完成,只要有人提交到 SVN/git,该工具就会运行。

    在您的情况下,更简单的安排是,您只需从开发机器手动部署代码,而不是通过 CI 工具将其自动化。这种设置的问题是很容易与其他团队成员发生冲突。

    也就是说,有越来越多的开源 (Jenkins) 或云托管 (CircleCI) 工具可能值得您研究。

    【讨论】:

    • 感谢史密斯克莱的回复。我们遇到了类似的明显问题,因此决定开始转换为异步加载器。
    • 我接受这个答案,因为它是一个有效的解决方案。然而,就像 smithclay 提到的那样,对我来说它有点太容易发生冲突了。
    【解决方案2】:

    不要提交输出。使用像 teamcity 这样的 ci 工具来构建和部署。仅将源文件提交到源代码管理。

    【讨论】:

    • 我忽略了编译的文件。但是对于仅 javascript 连接和压缩构建来说,Team City 似乎有点矫枉过正。这真的是团队的做法吗?再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2022-12-24
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多