【发布时间】:2014-05-18 10:39:44
【问题描述】:
有什么区别:
npm install [package_name]
和:
npm install [package_name] --save
和:
npm install [package_name] --save-dev
这是什么意思?而--save和-dev关键字的真正作用是什么?
【问题讨论】:
-
是的,我对此感到困惑 - 如果您使用像 Jenkins 这样的持续集成,Jenkins 是否知道使用 devDependencies 模块来运行测试?我认为是这样,但这并不是很明显。
-
也许编辑问题还说,dependencies 和 devDependencies 之间的功能区别是什么?
-
当用户执行
npm install --production时,通过 --save-dev 选项安装的包不会重新安装。这就是操作上的差异(请参阅https://docs.npmjs.com/cli/install 了解更多信息)。 -
如果您将环境变量
NODE_ENV设置为生产环境,那么npm install会自动排除开发包。 -
真正的问题是,这只是一个不清楚的区别,可以在 node / npm 方面进行改进。开发时 --save 和 --save-dev 没有明显区别。以
moment.js为例:运行webpack 时,moment代码取自node_modules并包含在项目中。从这个意义上讲,typescript没有区别,运行 webpack 时也需要它。