npm的命令参数 --save-dev和 --save两者有什么区别?

我们在安装npm包的时候经常会遇到 --save-dev 和 --save 这两个命令参数,两个命令都是往package.json文件里写入信息,两者有什么区别呢?

1. --save 会把依赖包名称添加到 package.json 的 dependencies 键下,而 --save-dev 会添加到 devDependencies 键下。

2.dependencies 是运行时的依赖,而devDependencies是开发时的依赖。也就是说,采用 --save-dev 安装的包我们发布后是用不到的,只有在开发时用到。采用 --save 安装的包在发布后还会有依赖,例如:如下代码:

 1 "devDependencies": {
 2     "babel-core": "6.26.0",
 3     "babel-loader": "7.1.2",
 4     "babel-preset-env": "1.6.1",
 5     "babel-preset-react": "6.24.1",
 6     "css-loader": "0.28.8",
 7     "extract-text-webpack-plugin": "3.0.2",
 8     "file-loader": "^1.1.6",
 9     "html-webpack-plugin": "2.30.1",
10     "node-sass": "^4.7.2",
11     "sass-loader": "6.0.6",
12     "style-loader": "0.19.1",
13     "url-loader": "^0.6.2",
14     "webpack": "3.10.0"
15   },
16   "dependencies": {
17     "react": "16.2.0",
18     "react-dom": "16.2.0"
19   }

此外,当我们使用npm install 时会下载 dependencies 和 devDependencies 下的模块。使用 npm install -production或者给定NODE_ENV值为production时,就只下载 dependencies 下的模块。

posted @ 2019-11-09 10:35  pongx_20  阅读(300)  评论(0编辑  收藏  举报