看到有些 node.js 的包安装的时候都加上 --save-dev 参数,不知道这参数是做什么的,加和不加有什么区别吗?
--save-dev
$ npm install xxx --save-dev
光阴似箭催人老,日月如移越少年。
当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下npm install module-name),然后连同版本号手动将他们添加到模块配置文件package.json中的依赖里(dependencies)。
npm install module-name
dependencies
-save和save-dev可以省掉你手动修改package.json文件的步骤。spm install module-name -save 自动把模块和版本号添加到dependencies部分spm install module-name -save-dve 自动把模块和版本号添加到devdependencies部分
-save
save-dev
spm install module-name -save
spm install module-name -save-dve
至于配置文件区分这俩部分, 是用于区别开发依赖模块和产品依赖模块, 以我见过的情况来看 devDepandencies主要是配置测试框架, 例如jshint、mocha。
devDepandencies
这一命令的Pull记录官方文档站内关于devdependencies的提问
我主要是基于浏览器写Javascript, npm用的少, 以上是个人理解。
npm install takes 3 exclusive, optional flags which save or update the package version in your main package.json:
-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.
from https://docs.npmjs.com/cli/install
从字面上来看,简单地说,就是把模块装在当前开发目录。 比如,你进入了D盘dev开发目录,那么就自动在dev开发目录下生成node modules文件夹,并在该文件夹下安装该模块。执行命令时,要寻找该模块定义,先从dev目录开始寻找,相比较于全局安装,速度就非常快了。
这个跟js中的局部变量,全局变量的定义比较类似。
-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.
当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下
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用的少, 以上是个人理解。
npm install takes 3 exclusive, optional flags which save or update the package version in your main package.json:
-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.
from https://docs.npmjs.com/cli/install
从字面上来看,简单地说,就是把模块装在当前开发目录。
比如,你进入了D盘dev开发目录,那么就自动在dev开发目录下生成node modules文件夹,并在该文件夹下安装该模块。执行命令时,要寻找该模块定义,先从dev目录开始寻找,相比较于全局安装,速度就非常快了。
这个跟js中的局部变量,全局变量的定义比较类似。