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.参考文档


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容