以下问题涉及我不发布到npm
的项目。
在NPM 3中,如果我在devDependencies
中有一个包并且运行了shrinkwrap(没有--development
),那么npm-shrinkwrap.json
将不包含devDependencies
中的包1}}。
但是使用NPM 5时,dependencies
和devDependencies
中的软件包会添加到package-lock.json
,而devDependencies
的软件包会添加"dev": true
。
因此,如果我只是使用npm install x
添加软件包而npm install
安装所有内容,例如构建服务器,那么dependencies
中列出的软件包是与devDependencies
中列出的包不同?
答案 0 :(得分:2)
这对生产有意义。当您需要安装所有软件包时,除了开发。
npm i --production
来自npmjs.org:
使用--production标志(或当NODE_ENV环境变量设置为production时),npm将不会安装devDependencies中列出的模块。