-S
即--save(保存)
包名会被注册在package.json的dependencies里面,在生产环境下这个包的依赖依然存在。
-D
即--dev(生产)
包名会被注册在package.json的devDependencies里面,仅在开发环境下存在的包用-D,如babel、sass-loader这些解析器
啥也不写
包名不会进入package.json里面,因此别人不知道安装了这个包,不建议这样。
npm install -d就是npm install --save-dev 安装到开发环境,例如gulp、babel、webpack一般是辅助工具
npm install -s就是npm install --save 安装到生产环境,如vue,react等
npm i与npm install -s与-d的区别:
npm i module_name -S => npm install module_name --save 写入到dependencies对象
npm i module_name -D => npm install module_name --save-dev 写入到devDependencies对象
npm i module_name -g 全局安装
i是install的简写
-S是--save的简写
-D是--save-dev的简写
devDependencies中的插件只用于开发环境,不用于生产环境,而dependencies是需要发布到生产环境的。像gulp、babel、webpack这些压缩代码、打包的工具,在实际运行中不需要,所以用-D;想elementui、echarts这些插件在实际运行中也是需要的,所以用-S。
package-lock.json文件:存放之前下载过的一些包的数据,方便下次安装的时候快速找到。