例如npm i element-ui -S
, i是install的缩写,安装插件时后缀有的是-D, 有的是-S,具体意思如下
-S
即 --save (保存)
添加这个后缀安装的包名会被注册在package.json的dependencies中,在生产环境下这个包的依赖依然存在,如vue,react,element等
-D
即 --dev(生产)
包名会被注册在package.json的devDependencies里面,仅在开发环境下存在的包用-D,如babel,sass-loader这些解析器
-g
即 --global (全局)
这个后缀用于全局安装,在自己电脑进行开发时,一些插件可以全局安装,这样就不用每次重建项目都要安装下,例如vue-cli脚手架
其实写在package.json文件里面的devDependencies和dependencies对象区别就是devDependencies中的插件只用于开发环境,例如eslint插件只是用于开发进行开发时使用,所以是在devDependencies对象里面,而dependencies里存放的则是发布到生产环境需要用到的插件,比如vue,ui组件等