在我们开发中会经常用到npm i 这个命令,有npm i -S,npm i -g , npm i -D,npm install –save-dev, npm i -save,那么这几种命令到底有什么区别呢?

要先知道这几种命令的区别,我们首先要认识两个单词,分别是dependencies和devDependencies。

dependencies:是生产和开发都会用到的依赖包,会被打包到项目中。

devDependencies:是只在开发环境中使用的依赖包,不会被打包到项目中。

下面我会放一张用package.json的默认图,然后分别运行npm i -S、npm i -save、npm i -D、npm i –save-dev来看他们分别有什么区别:

可以发现,安装在了dependencies下,也就是生产和开发都会用到。

npm i -save

npm i -D执行后,安装在了devDependencies中,也就是只有开发环境使用。

npm i –save-dev

总结

  1. npm i -S(-save)下载的依赖包是安装在dependencies中,生产和开发环境都会使用

  2. npm i -D(–save-dev)下载的依赖包安装在devDenpendencies中,只有在开发环境中使用

  3. npm i -g是把模块安装到全局,不会在项目的node包中保存,也不会将注入dependencies和devDependencies中。

  4. npm i 的话,是安装在dependencies中,也就是说生产和开发都会用到。