不带开发依赖项的NPM安装、测试、CI

7
我们的构建流程为 npm install -> npm test -> 压缩构建产物。
然而这意味着我们的构建产物包含所有 devDependencies。如果我们运行 npm --only=production ,虽然可以移除 devDependencies,但是会导致 npm test 失败。
那么,如何生成一个 经过测试没有 devDependencies 的构建产物呢?我们只能相信在测试完成后,移除 devDependencies 后的应用程序仍然能够正常运行吗?
额外问题:在这个工作流程中如何使用 npm ci 呢?
1个回答

12

你需要按照以下步骤进行:

首先,你需要“安装所有依赖项”。

npm install

然后进行你的测试。

npm test

然后按照下面的方式“修剪”您的开发依赖项,如文档中所述,这样做将“删除指定在您的devDependencies中的软件包”。

npm prune --production

关于npm ci,如果你有一个package-lock.json文件,你可以直接使用它代替npm install。请参考这个很好的答案来了解它们之间的区别。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接