npm i 有以下几种方式:

npm i module_name              # 安装模块到项目目录下
npm i module_name -g            # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix的位置。 npm i module_name -S(-save)      # --save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。 npm i module_name -D(--save-dev)   # --save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。


具体说明如下:

npm i module_name

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

npm i module_name -g

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

npm i module_name -S

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

npm i module_name –D

  • 会把moudule_name包安装到node_modules目录中
  • 会在package.json的devDependencies属性下添加moudule_name
  • 之后运行npm i命令时,会自动安装moudule_name到node_modules目录中
  • 之后运行npm i –production或者注明NODE_ENV变量值为production时,不会自动安装moudule_name到node_modules目录中

使用原则:
devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用-D的形式安装。像 emoudule_namepress 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用-S的形式安装。
总结为一句话:运行时需要用到的包使用–S,否则使用–D。

转自:https://www.jianshu.com/p/920c1a6e999c

转载于:https://www.cnblogs.com/wzl96/p/11002029.html

npm i 的几种方式区别相关推荐

  1. python模块的导入的两种方式区别详解

    Python 有两种导入模块的方法.两种都有用,你应该知道什么时候使用哪一种方法.一种方法,import module,另一种是from module import,下面是 from module i ...

  2. java实例化字符串两种方式区别

    一:实例化字符串对象的两种方式的区别 这个知识点是面试中的一个经久不衰的问题,.也是一个比较麻烦的问题,对于许多同学来说也是难点,本次课我们会详细的分析.上次课说了创建字符串对象的两种方式:直接赋值( ...

  3. DNS有哪两种域名解析方式?简述这两种方式区别和特点。

    DNS的两种域名解析方式:分布域名解析:集中式域名解析 区别及特点: 1.分布域名解析 是指分在客户端上维护一个静态的文本文件,其中包含主机名和IP地址的映射.随着网络规模的扩大,分布式分辨率的有效性 ...

  4. 嵌入式开发之davinci--- 8148/8168/8127 中的图像采集格式Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别...

    简单来说, YUV: luma (Y) + chroma (UV) 格式, 一般情况下sensor支持YUV422格式,即数据格式是按Y-U-Y-V次序输出的 RGB: 传统的红绿蓝格式,比如RGB5 ...

  5. python导入包相当于什么_Python 引入包的两种方式区别

    原博文 2014-05-16 11:18 − 1.import XXX仅仅是告诉我们需要使用这个包,但是你真正使用的时候,需要完整的导入这个包的全路径 比如: import wechat.views ...

  6. jsp中头的导入两种方式区别

    1.<jsp:include page="top.jsp">先将top.jsp中的java脚本和jsp指令执行完毕以后再讲top.jsp页面加入面中 2.<%@ ...

  7. vue路由传参的三种方式区别(params,query)

    最近在做一个项目涉及到列表到详情页的参数的传递,网上搜索一下路由传参,结合自己的写法找到一种适合自己的,不过也对三种写法都有了了解,在此记录一下 1 <ul class="table_ ...

  8. npm 下载的几种方式

    1.npm install moduleName 模块将会被安装到node_modules 目录下 不会把模块依赖写入devDependencies 或 dependencies 节点 运行npm i ...

  9. npm、nrm两种方式查看源和切换镜像

    一.使用npm查看当前源.切换淘宝镜像.切换官方源 (1)npm查看当前源: npm get registry (2)npm设置淘宝镜像源: npm config set registry http: ...

最新文章

  1. 常识性概念图谱建设以及在美团场景中的应用
  2. 嬴彻科技拿下SemanticKITTI榜单两项第一
  3. icmp反弹shell 简介
  4. 如何解决error: failed to push some refs to ‘xxx(远程库)‘
  5. TCP/IP / 网关 IP 和 DNS 服务器 IP 为什么可以一样?
  6. Fail-fast 和 Fail-safe 机制
  7. pdfplumber读取pdf简历,并且写入Excel中
  8. pytorch nn.Linear
  9. InnoDB存储引擎
  10. 推荐一款基于bootstrap的漂亮的前端模板——inspinia_admin
  11. passing ‘const XXX’ as ‘this’ argument discards qualifiers
  12. 记录python量化投资学习过程(二)- 常见指标以及概念的记录
  13. android传感器原理,浅谈Android传感器 III-磁传感器
  14. 计算机的删除快捷键,电脑上的删除快捷键是什么?
  15. 重写Readable接口read()方法 传入Scanner导致的BufferOverflowException报错
  16. Win10中Jenkins的安装和基本使用流程
  17. linux jpg图片转base64,html中的图片直接使用base64编码后的字符串代替
  18. FPGA学习笔记_ROM核调用与调试
  19. hi3516v300gpio驱动编译遇到的问题
  20. 浅谈仪器控制【1.Python与Labview/Labwindows】

热门文章

  1. 删除 PDF 页面的 5 大方法(最新更新)
  2. x64dbg调试程序遇到异常:406D1388,MS_VC_EXCEPTION. E06D7363, CPP_EH_EXCEPTION
  3. 鸿蒙系统手机一览表,华为鸿蒙os系统支持的手机型号有哪些?鸿蒙os适配机型列表一览[多图]...
  4. java设计最简单记账本_Springboot简单练手的记账本
  5. 浅析Python装饰器中的@property
  6. java版 SpringCloud 之目前得前端框架都有哪些?
  7. 数据库语言与事务管理
  8. Python股票盯盘助手
  9. matlab阻抗测量模块,基于matlab技术实现频谱分析仪测量阻抗
  10. 【MySQL】MySQL基础