1

目前,我们在本地将各个 JavaScript 文件连接并缩小到一个包中 - 使用 Chirpy - 然后将包签入版本控制(我们使用带有门控签入的 TFS)。

然后我们的安装程序部署这个包。

但这会导致一些问题:

  • 是否可以签入与源文件不对应的包。
  • 我们的“门控签到”存在合并问题。因为如果签入队列中的两个变更集都包含一个新包,那么第二个将始终与第一个冲突。

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

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

4

1 回答 1

1

“最佳实践”是一个可怕的短语,因为人们经常将它作为一个俱乐部来捍卫自己的个人喜好。

两种解决方案都很好,并且比当前系统更好。哪个最好取决于上下文:

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

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

于 2012-09-19T13:33:40.013 回答