npm --save与--save-dev的区别

1.表面的区别


  • --save: 把依赖包名称添加到 package.json 文件 dependencies 键下
  • --save-dev: 把依赖包名称添加到 package.json 文件 devDependencies 键下

2.真正的区别


  • –save : 安装生产环境需要的依赖包
  • –save-dev: 安装开发环境需要的依赖包

npm自己的文档说dependencies是运行时依赖,devDependencies是开发时的依赖。

即devDependencies 下列出的模块,是我们开发时用的,比如 我们安装 js的压缩包gulp-uglify 时,我们采用的是 “npm install –save-dev gulp-uglify ”命令安装,因为我们在发布后用不到它,而只是在我们开发才用到它。
dependencies 下的模块,则是我们发布后还需要依赖的模块,譬如像jQuery库或者Angular框架类似的,我们在开发完后后肯定还要依赖它们,否则就运行不了。

比如,你写 ES6 代码,如果你想编译成 ES5 发布那么 babel 就是devDependencies。
如果你用了 jQuery,由于发布之后还是依赖jQuery,所以是dependencies。

3.补充


正常使用npm install时,会下载dependencies和devDependencies中的模块,当使用npm install –production或者注明NODE_ENV变量值为production时,只会下载dependencies中的模块。

#  i 是 install 的简写
# ' => ' 表示'等价于'的意思
# 写入到 dependencies 对象; -S 是 --save 的简写;
npm i module_name  -S  => npm install module_name --save 

# 写入到 devDependencies 对象; -D 是 --save-dev 的简写
npm i module_name  -D  => npm install module_name --save-dev 

# 全局安装
npm i module_name  -g  

4.参考文档


  • npm --save-dev --save 的区别
  • NPM 中 --save 和 --save-dev的区别

你可能感兴趣的:(npm --save与--save-dev的区别)