什么时候生成JavaScript包?

时间:2012-09-19 13:19:48

标签: javascript build-process bundle chirpy

目前,我们将各个JavaScript文件连接并缩小为本地捆绑包 - 使用Chirpy - 然后将捆绑包检查为版本控制(我们使用带有Gated签入的TFS)。

然后我们的安装程序会部署此捆绑包。

但这导致了许多问题:

  • 是否可以签入与源文件不对应的包。
  • 我们的'Gated Checkin'存在合并问题。因为如果签入队列中的两个变更集都包含一个新捆绑包,则第二个变量集将始终与第一个捆绑包发生冲突。

我们还有其他一些想法:安装程序可以在部署期间生成捆绑包,或者服务器可以在运行时生成捆绑包作为启动过程。

但这肯定是一个常见问题,最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

“最佳做法”是一个可怕的短语,因为人们经常会把它当作一个俱乐部来捍卫自己的个人偏好。

这两种解决方案都比现有系统更好,更好。哪一个最好取决于背景:

安装程序可以在部署期间生成捆绑包: 这样做的好处是,部署的JavaScript包保证一致且恒定,并且可以在不启动整个系统的情况下进行单独测试。一般来说,我会推荐这个解决方案。

服务器可以在运行时生成捆绑包作为启动过程: 这样做的好处是可以直接在已部署的系统上替换或调整JavaScript代码,而无需通过构建步骤。这允许您快速修复错误或改进事物。缺点是这种活动导致实时系统与存储库保持同步,这使得调试和升级变得痛苦且容易出错。我个人认为允许这样做是可怕的。