npm install 安装总结

npm install moduleName

  • 会把moduleName 包安装到node_modules目录中
  • 不会修改package.json
  • 之后运行npm install命令时,不会自动安装moduleName

npm install moduleName -g

  • 安装模块到全局,不会在项目node_modules目录中保存模块包。
  • 不会将模块依赖写入devDependencies或dependencies 节点。
  • 运行 npm install 初始化项目时不会下载模块。

将会安装在C盘\用户目录\AppData\Roaming\npm,并且写入系统环境变量;非全局安装:将会安装在当前定位目录;全局安装可以通过命令行任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,通过要求调用;

npm install moduleName --save 也可以简写成 npm install moduleName -S

  • 会把moduleName 包安装到node_modules目录中
  • 会在package.json的dependencies属性下添加moduleName,dependencies 是需要发布到生产环境的
  • 之后运行npm install命令时,会自动安装moduleName 到node_modules目录中
  • 之后运行npm install --production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中,即是在线上环境运行时会将包安装

npm install moduleName --save-dev 也可以简写成 npm install moduleName -D

  • 会把moduleName 包安装到node_modules目录中
  • 会在package.json的devDependencies属性下添加moduleName,devDependencies 里面的插件只用于开发环境,不用于生产环境
  • 之后运行npm install命令时,会自动安装moduleName 到node_modules目录中
  • 之后运行npm install --production或者注明NODE_ENV变量值为production时,不会自动安装moduleName 到node_modules目录中

区别:

在用npm install 单独安装 npm 包时,有两种命令参数可以把它们的信息写入 package.json 文件,一个是npm install--save,另一个是 npm install --save-dev,他们表面上的区别是:

--save 会把依赖包名称添加到 package.json 文件 dependencies 下,

--save-dev 则添加到 package.json 文件 devDependencies下

除了表面区别真正的区别是:
dependencies是运行时的依赖,
devDependencies是开发时的依赖。

即devDependencies 下列出的模块,是我们开发时用的,比如 我们安装 js的压缩包gulp-uglify 时,我们采用的是 "npm install --save-dev gulp-uglify "命令安装, 因为我们在发布后用不到它,而只是在我们开发才用到它。

举例:

像jQuery库或者Angular框架类似的,我们在开发完后后肯定还要依赖它们,否则就运行不了,这是dependencies;

而写 ES6 代码,需要babel转换成es5,转换完成后,我们只需要转换后的代码,上线的时候,直接把转换后的代码部署上线,不需要babel了,上线了不需要,这就是devDependencies。

而如果用了 jQuery,由于发布之后还是依赖jQuery,所以是dependencies。

补充:

正常使用 npm install 时,会下载dependencies和devDependencies中的模块,当使用npm install --production或者注明NODE_ENV变量值为production时,只会下载dependencies中的模块。

删除模块:

复制代码
npm uninstall 模块

删除本地模块时你应该思考的问题:是否将在package.json上的相应依赖信息也消除?
  npm uninstall 模块:删除模块,但不删除模块留在package.json中的对应信息
  npm uninstall 模块 --save 删除模块,同时删除模块留在package.json中dependencies下的对应信息
  npm uninstall 模块 --save-dev 删除模块,同时删除模块留在package.json中devDependencies下的对应信息

本文参考:https://blog.csdn.net/aaqingying/article/details/101371352

相关推荐
多多*20 分钟前
Spring之Bean的初始化 Bean的生命周期 全站式解析
java·开发语言·前端·数据库·后端·spring·servlet
linweidong25 分钟前
在企业级应用中,你如何构建一个全面的前端测试策略,包括单元测试、集成测试、端到端测试
前端·selenium·单元测试·集成测试·前端面试·mocha·前端面经
满怀10151 小时前
【HTML 全栈进阶】从语义化到现代 Web 开发实战
前端·html
东锋1.31 小时前
前端动画库 Anime.js 的V4 版本,兼容 Vue、React
前端·javascript·vue.js
满怀10151 小时前
【Flask全栈开发指南】从零构建企业级Web应用
前端·python·flask·后端开发·全栈开发
小杨升级打怪中2 小时前
前端面经-webpack篇--定义、配置、构建流程、 Loader、Tree Shaking、懒加载与预加载、代码分割、 Plugin 机制
前端·webpack·node.js
Yvonne爱编码2 小时前
CSS- 4.4 固定定位(fixed)& 咖啡售卖官网实例
前端·css·html·状态模式·hbuilder
SuperherRo2 小时前
Web开发-JavaEE应用&SpringBoot栈&SnakeYaml反序列化链&JAR&WAR&构建打包
前端·java-ee·jar·反序列化·war·snakeyaml
大帅不是我2 小时前
Python多进程编程执行任务
java·前端·python
前端怎么个事2 小时前
框架的源码理解——V3中的ref和reactive
前端·javascript·vue.js