npm i安装命令中的-g -D -S的区别
npm i xx -g:npm install xx --global的简写,对模块进行全局安装
所谓全局安装,是指把模块安装到操作系统上,全局是指操作系统,全局安装完成后,一般会安装到AppDataAppData\Roaming\npm目录下。如:npm install webpack -g,就是全局安装webpack,在操作系统的任何一个目录下都可以使用webpack所提供的指令。
npm i xx -D:npm install xx --save-dev的简写,对模块进行局部安装,模块写入到
devDependencies 对象。
局部的意思是只针对当前项目,模块一般安装到项目文件夹下的node_modules文件夹下。
devDependencies对象,是我们开发的时候需要用到的一些包,只用于开发阶段,真正打包上线的时候并不需要这些包,因为这些工具只是你用来打包代码的,是用来识别特定文件以及代码,帮助我们生产最终文件的。如npm i vue-loader vue-template-complier -D,就是在Vue项目中安装vue模板文件的解析插件,经过配置后即可在项目中解析vue模板
npm i xx -S:npm install xx --save 的简写,同上也是对模块进行局部安装,不同的是模块写入到
dependencies对象。
模块同上一样将安装到项目文件夹下的node_modules文件夹下。
dependencies对象,这个与devDependencies不同,是需要发布到生产环境中的,就比如你要跑一个基于vue的项目,所以需要vue.js来支持,vue.js文件就需要跟随项目到最终的生产环境。npm i vue -S即可将Vue模块安装到项目的依赖中,并一同发布到生产环境。
下图为项目根目录下的package.json中的devDependencies和dependencies对象