看到有些 node.js 的包安装的时候都加上 --save-dev
参数,不知道这参数是做什么的,加和不加有什么区别吗?
$ npm install xxx --save-dev
当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下npm install module-name
),然后连同版本号手动将他们添加到模块配置文件package.json中的依赖里(dependencies
)。
-save
和save-dev
可以省掉你手动修改package.json文件的步骤。spm install module-name -save
自动把模块和版本号添加到dependencies部分spm install module-name -save-dve
自动把模块和版本号添加到devdependencies部分
至于配置文件区分这俩部分, 是用于区别开发依赖模块和产品依赖模块, 以我见过的情况来看 devDepandencies
主要是配置测试框架, 例如jshint、mocha。
这一命令的Pull记录
官方文档
站内关于devdependencies的提问
我主要是基于浏览器写Javascript, npm用的少, 以上是个人理解。
spm install module-name -save 自动把模块和版本号添加到dependencies部分spm install module-name -save-dve 自动把模块和版本号添加到devdependencies部分
通过这些命令,我们会得到一个新的package.json。然后再做一个试验就懂得了区别:删除node_modules目录,然后执行 npm install --production,可以看到,npm只帮我们自动安装package.json中dependencies部分的模块;如果执行npm install ,则package.json中指定的dependencies和devDependencies都会被自动安装进来。
-S, --save: Package will appear in your dependencies.
-D, --save-dev: Package will appear in your devDependencies.
-O, --save-optional: Package will appear in your optionalDependencies.