使用npm 工作区,我有一个像这样的文件夹结构
+-- package.json
+-- package-lock.json
+-- client
| `-- package.json
+-- shared
| `-- package.json
`-- server
`-- package.json
通常,在为 nodejs 应用程序创建生产构建时,我会运行npm ci --only=production
然后复制node_modules
到构建工件中。我不确定在使用工作区时如何做类似的事情。
如果我运行npm ci --only=production --workspace server
它,它会将依赖项拆分为./node_modules
和./server/node_modules
。也许我应该将两者都复制(合并?)node_modules
到构建工件中?
另一种选择可能是复制./package-lock.json
并./server/package.json
进入一个新目录并运行npm ci --only=production
. 它似乎确实有效,但我对 npm 了解不足,无法知道这是否是个好主意。
要求是:
node_modules
应该只包括所选包的生产依赖项- 依赖版本应该由
package-lock.json
.