在我们开发中会经常用到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来看他们分别有什么区别:

 

npm i -S

 我们以安装echarts为例:

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

npm i -save

通过图片我们可以发现,npm i -save 下载的依赖包也是在dependencies中的。

也就是说npm i -S 和 npm i -save是等价的,下载的依赖包都是在dependencies中,也就是开发和生产都会用到。

npm i -D

 

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

npm i --save-dev

 

可以发现,依然安装在了只有开发环境使用的devDependencies中。

npm i

 

总结

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

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

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

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐