NPM 安装、测试、CI 没有 devDependencies



我们的构建管道npm install->npm test-> 压缩工件。

但是,这意味着我们的工件包含所有开发依赖项。如果我们这样做npm --only=production我们将失去devDependencies,但npm test会失败。

如何在没有 devDependencies的情况下生成经过测试的工件?我们是否只需要相信我们的应用程序将在没有 devDependencies 的情况下运行?

奖励问题:npm ci应该如何适应这个工作流程?

您需要遵循以下过程:

首先,您需要"安装所有依赖项"。

npm install

然后做你的测试。

npm test

然后"修剪"您的开发依赖项,如下所示,如文档中所述,这样做"将删除 devDependencies 中指定的包"。

npm prune --production

关于npm ci,如果你有一个package-lock.json,你可以简单地使用它来代替npm install,请参阅这个很好的答案来解释差异。

相关内容

最新更新