npm install -g --save --save-dev 比较
一、npm install packageName
特点:
- 本地安装,安装到项目 node_modules 目录下;
- 不会将模块依赖写入 package.json 中的 devDependencies 或 dependencies 节点;
- 运行 npm install 初始化项目时不会下载模块。
二、npm install packageName -g
特点:
- 全局安装,安装到Node.js安装目录下的node_modules目录下;
- 不会将模块依赖写入 package.json 中的 devDependencies 或 dependencies 节点;
- 运行 npm install 初始化项目时不会下载模块。
三、npm install packageName --save
特点:
- 本地安装,安装到项目 node_modules 目录下;
- 会将模块依赖写入 package.json 中的 dependencies 节点;
- 运行 npm install 初始化项目时,会将模块下载到项目 node_modules 目录下;
- 运行 npm install --production 或注明 NODE_ENV 变量值为 production 时,会自动下载模块到项目 node_modules 目录下。
四、npm install packageName --save-dev
(简写为-D)
特点:
- 本地安装,安装到项目node_modules目录下;
- 会将模块依赖写入 package.json 中的 devDependencies 节点;
- 运行 npm install 初始化项目时,会将模块下载到项目 node_modules 目录下;
- 运行 npm install --production 或注明 NODE_ENV 变量值为 production 时,不会自动下载模块到项目 node_modules 目录下。
总结:
devDependencies 节点下的模块是在开发时需要用的,比如 vue 项目中使用的 @vue/cli-plugin-babel,eslint,less-loader 模块等,这些模块在项目部署后是不需要的,所以可以使用 --save-dev 的形式安装。像 vue,vuex 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以使用 --save 的形式安装。
博主水平有限,若发现文中存在问题,欢迎留言指正!