npm install, npm install -g, npm install --save, npm install --save-dev之间的区别

时间:2022-12-13 08:34:13

1.npm install X

  • 安装X到项目的node_modules文件夹
  • 会修改package.json,在dependencies中写入依赖。(关于这一点,网上的大部分文章都是说,不会修改package.json,笔者通过实践发现,是会在dependencies中写入依赖的)
  • npm install会自动安装X。(网上都说不会自动安装,实践是会自动安装的。笔者将项目的node_modules文件夹删除之后,重新运行npm install,发现X被安装了)

2.npm install -g X

  • 安装模块到全局(这样安装了哪里都可以用,各个项目都可以用),一般是安装到node的安装目录的node_modules。如果配置了全局目录,就会安装到全局目录的node_modules目录
  • 不会修改package.json,不会将模块依赖写入devDependencies或dependencies 节点
  • npm install不会自动安装X

3.npm install X --save

  • 安装X到项目的node_modules文件夹
  • 会修改package.json,在dependencies中写入依赖
  • npm install会自动安装X
  • 运行npm install --production或者注明NODE_ENV变量值为production时,自动下载模块到node_modules目录中

3.npm install X --save-dev

  • 安装X到项目的node_modules文件夹
  • 会修改package.json,在devDependencies中写入依赖
  • npm install会自动安装X
  • 运行npm install --production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中。

总结:

devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用构建工具webkpack、 gulp ,用来辅助压缩js、css、html等。这些模块在我们的项目部署后是不需要的,所以我们可以使用 --save-dev 的形式安装;像 bootstrap、vue、angular、express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 --save 的形式安装;工具类的比如构建工具gulp,需要使用命令来运行任务,则需要使用—global来安装。