npm install -g --save --save-dev 比较

一、npm install packageName

特点:

  1. 本地安装,安装到项目 node_modules 目录下;
  2. 不会将模块依赖写入 package.json 中的 devDependencies 或 dependencies 节点;
  3. 运行 npm install 初始化项目时不会下载模块。

二、npm install packageName -g

特点:

  1. 全局安装,安装到Node.js安装目录下的node_modules目录下;
  2. 不会将模块依赖写入 package.json 中的 devDependencies 或 dependencies 节点;
  3. 运行 npm install 初始化项目时不会下载模块。

三、npm install packageName --save

特点:

  1. 本地安装,安装到项目 node_modules 目录下;
  2. 将模块依赖写入 package.json 中的 dependencies 节点;
  3. 运行 npm install 初始化项目时,将模块下载到项目 node_modules 目录下;
  4. 运行 npm install --production 或注明 NODE_ENV 变量值为 production 时,自动下载模块到项目 node_modules 目录下。

四、npm install packageName --save-dev(简写为-D)

特点:

  1. 本地安装,安装到项目node_modules目录下;
  2. 将模块依赖写入 package.json 中的 devDependencies 节点;
  3. 运行 npm install 初始化项目时,将模块下载到项目 node_modules 目录下;
  4. 运行 npm install --production 或注明 NODE_ENV 变量值为 production 时,不会自动下载模块到项目 node_modules 目录下。

总结:

devDependencies 节点下的模块是在开发时需要用的,比如 vue 项目中使用的 @vue/cli-plugin-babel,eslint,less-loader 模块等,这些模块在项目部署后是不需要的,所以可以使用 --save-dev 的形式安装。像 vue,vuex 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以使用 --save 的形式安装。
npm install -g --save --save-dev 比较
博主水平有限,若发现文中存在问题,欢迎留言指正!

学习之路永无止境!