--save 、--save-dev 、-D、-S的区别

npm install 和 npm i 是一样
--save 和 -S 是一样
--save-dev 和 -D 是一样的

区别:

--save 和 -S安装运行依赖
--save-dev 和 -D 安装开发依赖(只是开发阶段使用)
在package.json文件中
dependencies是运行时依赖,devDependencies是开发时的依赖。譬如:
{
"dependencies": {
"vue": "^2.2.1"
},
"devDependencies": {
"babel-core": "^6.0.0",
"babel-loader": "^6.0.0",
"babel-preset-latest": "^6.0.0",
"cross-env": "^3.0.0",
"css-loader": "^0.25.0",
"file-loader": "^0.9.0",
"vue-loader": "^11.1.4",
"vue-template-compiler": "^2.2.1",
"webpack": "^2.2.0",
"webpack-dev-server": "^2.2.0"
}
}

举例:

像jQuery库或者Angular框架类似的,我们在开发完后后肯定还要依赖它们,否则就运行不了,这是dependencies。而写 ES6 代码,需要babel转换成es5,转换完成后,我们只需要转换后的代码,上线的时候,直接把转换后的代码部署上线,不需要babel了,上线了不需要,这就是devDependencies。
而如果用了 jQuery,由于发布之后还是依赖jQuery,所以是dependencies。

总结:

-S, --save 安装包信息将加入到dependencies(生产阶段的依赖,也就是项目运行时的依赖,就是程序上线后仍然需要依赖)

-D, --save-dev 安装包信息将加入到devDependencies(开发阶段的依赖,就是我们在开发过程中需要的依赖,只在开发阶段起作业的)

补充:

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

你可能感兴趣的:(--save 、--save-dev 、-D、-S的区别)