npm i 的几种方式区别
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 的几种方式区别相关推荐
- python模块的导入的两种方式区别详解
Python 有两种导入模块的方法.两种都有用,你应该知道什么时候使用哪一种方法.一种方法,import module,另一种是from module import,下面是 from module i ...
- java实例化字符串两种方式区别
一:实例化字符串对象的两种方式的区别 这个知识点是面试中的一个经久不衰的问题,.也是一个比较麻烦的问题,对于许多同学来说也是难点,本次课我们会详细的分析.上次课说了创建字符串对象的两种方式:直接赋值( ...
- DNS有哪两种域名解析方式?简述这两种方式区别和特点。
DNS的两种域名解析方式:分布域名解析:集中式域名解析 区别及特点: 1.分布域名解析 是指分在客户端上维护一个静态的文本文件,其中包含主机名和IP地址的映射.随着网络规模的扩大,分布式分辨率的有效性 ...
- 嵌入式开发之davinci--- 8148/8168/8127 中的图像采集格式Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别...
简单来说, YUV: luma (Y) + chroma (UV) 格式, 一般情况下sensor支持YUV422格式,即数据格式是按Y-U-Y-V次序输出的 RGB: 传统的红绿蓝格式,比如RGB5 ...
- python导入包相当于什么_Python 引入包的两种方式区别
原博文 2014-05-16 11:18 − 1.import XXX仅仅是告诉我们需要使用这个包,但是你真正使用的时候,需要完整的导入这个包的全路径 比如: import wechat.views ...
- jsp中头的导入两种方式区别
1.<jsp:include page="top.jsp">先将top.jsp中的java脚本和jsp指令执行完毕以后再讲top.jsp页面加入面中 2.<%@ ...
- vue路由传参的三种方式区别(params,query)
最近在做一个项目涉及到列表到详情页的参数的传递,网上搜索一下路由传参,结合自己的写法找到一种适合自己的,不过也对三种写法都有了了解,在此记录一下 1 <ul class="table_ ...
- npm 下载的几种方式
1.npm install moduleName 模块将会被安装到node_modules 目录下 不会把模块依赖写入devDependencies 或 dependencies 节点 运行npm i ...
- npm、nrm两种方式查看源和切换镜像
一.使用npm查看当前源.切换淘宝镜像.切换官方源 (1)npm查看当前源: npm get registry (2)npm设置淘宝镜像源: npm config set registry http: ...
最新文章
- 常识性概念图谱建设以及在美团场景中的应用
- 嬴彻科技拿下SemanticKITTI榜单两项第一
- icmp反弹shell 简介
- 如何解决error: failed to push some refs to ‘xxx(远程库)‘
- TCP/IP / 网关 IP 和 DNS 服务器 IP 为什么可以一样?
- Fail-fast 和 Fail-safe 机制
- pdfplumber读取pdf简历,并且写入Excel中
- pytorch nn.Linear
- InnoDB存储引擎
- 推荐一款基于bootstrap的漂亮的前端模板——inspinia_admin
- passing ‘const XXX’ as ‘this’ argument discards qualifiers
- 记录python量化投资学习过程(二)- 常见指标以及概念的记录
- android传感器原理,浅谈Android传感器 III-磁传感器
- 计算机的删除快捷键,电脑上的删除快捷键是什么?
- 重写Readable接口read()方法 传入Scanner导致的BufferOverflowException报错
- Win10中Jenkins的安装和基本使用流程
- linux jpg图片转base64,html中的图片直接使用base64编码后的字符串代替
- FPGA学习笔记_ROM核调用与调试
- hi3516v300gpio驱动编译遇到的问题
- 浅谈仪器控制【1.Python与Labview/Labwindows】
热门文章
- 删除 PDF 页面的 5 大方法(最新更新)
- x64dbg调试程序遇到异常:406D1388,MS_VC_EXCEPTION. E06D7363, CPP_EH_EXCEPTION
- 鸿蒙系统手机一览表,华为鸿蒙os系统支持的手机型号有哪些?鸿蒙os适配机型列表一览[多图]...
- java设计最简单记账本_Springboot简单练手的记账本
- 浅析Python装饰器中的@property
- java版 SpringCloud 之目前得前端框架都有哪些?
- 数据库语言与事务管理
- Python股票盯盘助手
- matlab阻抗测量模块,基于matlab技术实现频谱分析仪测量阻抗
- 【MySQL】MySQL基础