【发布时间】:2021-08-31 15:37:49
【问题描述】:
我有一个 Angular 应用程序,我想使用 Ant 脚本将其捆绑在一个 jar 文件(包含后端)中。
此 Ant 脚本应安装/更新依赖项(使用 npm),然后使用 Angular CLI 构建应用程序。
它将由多个开发人员在多个环境中使用,并且并非所有开发人员都必须处理前端,因此要求应尽可能低。
理想情况下,只需要在所有 PC 上安装 NodeJS。
因此,在构建网页之前,Ant 脚本必须确保所有依赖项都已安装并且是最新的。
现在我可以想到多种方法来做到这一点,但是我不确定哪一种是最好和最稳定的方法:
- 删除
node_modules 文件夹并使用npm install重新安装所有模块。
这可能很节省,但速度很慢,因为 Angular-Applications 有大量的依赖项需要下载。 - 使用
npm install,而不是先删除node_modules。
这会更快,但一些库(例如Angular CLI)建议在更新时进行全新安装。 - 使用
npm update。这样,不仅会安装依赖项,还会更新以匹配最新的可能版本(^或~将影响更新)。
目前我使用npm install,如果node_modules-文件夹不存在,否则npm update。
主要问题是,npm update 可能会更改 package.lock.json,这是版本控制的(如 npm 文档所建议的那样)并导致合并冲突。
所以基本上我正在寻找一种方法来在构建脚本中安装所有需要的依赖项(只有 NodeJS 是所有开发人员的要求),而不涉及版本化文件。
【问题讨论】: