save-dev和save的区别
果你经常用NPM安装依赖包,会注意到安装包时的指令会分--save-dev和--save两种,有什么区别呢?
在项目中我们通常会有一个package.json的配置文件,用来保存项目的相关配置信息,其中最重要的就是该项目的相关依赖包。其他用户在拿到该配置文件时,只需要用npm install就可以根据配置文件下载相关的依赖包,搭建好与开发者相同的环境。
npm install到底要安装什么依赖,这些都在配置文件中有标明。下图是一个package.json文件的内容:
我们上面提到的依赖就是图片中的devDependencies和dependencies两项。其中的dependencies是项目在发布或运行时所依赖的模块和包,而devDependencies是项目在开发时所依赖的包。
就我的理解而言,devDependencies中的包都是开发或打包时所需的工具,而在项目打包生成要发布的文件后,devDependencies中的包对于生成文件就没有任何用处了。反而dependencies中的包是相关的类库,是发布文件正常运行的环境基础,否则项目就无法正常运行。
因此webpack类的工具应该是devDependencies,而jquery、react就应该是dependencies。
讲到这里你应该就明白了,--save-dev和--save的区别了。在安装包时加上--save-dev参数会在成功安装后,package.json文件的devDependence下会自动加上包的名称及版本。反之使用--save,则是在dependencies下添加依赖信息。
正常使用npm install时,会下载dependencies和devDependencies中的模块,当使用npm install --production或者注明NODE_ENV变量值为production时,只会下载dependencies中的模块。
save-dev和save的区别的更多相关文章
- npm 安装时 --save --dev 和 --save 区别
一.模式 运行webpack命令时,一定要指定模式. webpack --mode developmentwebpack --mode production二.--save -dev --save:将 ...
- [转] docker save与docker export的区别
[From]http://cnodejs.org/topic/59a2304f7aeedce818249eeb 很久没有写博客了,坟头草都长了老高了.写博客要靠惯性,一旦停下来时间长了,就很难再坚持下 ...
- docker save load export import的区别
export export命令用于持久化容器(不是镜像).所以,我们就需要通过以下方法得到容器ID: sudo docker ps -a 接着执行导出: sudo docker export < ...
- Docker的save和export命令的区别
我最近在玩Docker,一种应用程序容器和Linux的虚拟技术.它太酷了,创建Docker镜像和容器只需要几分钟.所有的工作都是开箱即用的. 在结束我一天的工作之前,我希望能保存下我的工作.但我在Do ...
- npm install 插件 --save与 --save -dev的区别
npm i 插件 ,会把插件安装到node_modules目录中,不会修改package.json, npm i 插件 --save ,项目发布上线之后还会依赖用到的插件,没有这些插件,项目不能 ...
- npm install、npm install --save、npm install --save --dev、npm install -S、npm install -D的区别
npm install X: 会把X包安装到node_modules目录中 不会修改package.json 之后运行npm install命令时,不会自动安装X npm install X –sav ...
- Hibernate里save(),saveOrUpdate(),merge(),update()的区别
save()方法用于将一个临时对象转变为持久化对象,也就是将一个新的业务实体保存到数据库中:update()方法用于将一个游离对象重新转变为持久化对象,也就是更新一个已经存在的业务实体到数据库中:sa ...
- hibernate的save()和persit()之间的区别
这个问题啊,我在传智的Hibernate 视频上有小段讲解,save() 和persist() 都是持久化的保存,这两个方法在已经开启事物的情况下没多大区别:在不开启事物的时候save()方法会把数据 ...
- MongoDB的save 和insert函数的区别
mongodb的save和insert函数都可以向collection里插入数据,但两者是有两个区别: 一.使用save函数里,如果原来的对象不存在,那他们都可以向collection里插入数据,如果 ...
- npm --save 、-D 、--save -dev
npm install 和 npm i 是一样 --save 和 -S 是一样 --save-dev 和 -D 是一样的 区别: -S, --save 安装包信息将加入到dependencies(生产 ...
随机推荐
- 打破惯性思维:聊聊一次debug
最近公司的新需求中要增加活动营销,整个组的人都被安排去研究某成熟产品的实现.我也认真地在看webService部分的实现,发现了一个诡异的10614端口的请求. 代码如下图: 这是一段服务端发请求验证 ...
- java mysql 数据类型对照
java mysql 数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang. ...
- Android KeyLogger Demo
@author: dlive 代码见github: https://github.com/Dliv3/Android-KeyLogger-Demo 前言 之前开发过一个Android的木马,其中Key ...
- Json 使用小结
关于Json: content={ news_item=[ { title=a, digest=tan for test, content=just for test, content_source_ ...
- C语言之循环结构 for(二)
一 for循环的嵌套使用 for循环的嵌套语法: for(int i =0;i<10;i++){ for(int j=0;j<5;j++){ } } 一般用来打印平面,或者控制平面,或者说 ...
- springmvc+mybatis+spring 整合 SSM
A 调用摄像头拍照,自定义裁剪编辑头像 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单; 技 ...
- 人机ai五子棋 ——五子棋AI算法之Java实现
人机ai五子棋 下载:chess.jar (可直接运行) 源码:https://github.com/xcr1234/chess 其实机器博弈最重要的就是打分,分数也就是权重,把棋子下到分数大的地方, ...
- CentOS 7 引导 -- GRUB2
如果安装完 CentOS 7 之后,原来的 Windows 引导菜单被覆盖了,vi /boot/grub2/grub.cfg 添加如下代码: ## BEGIN WINDOWS 10 menuentry ...
- System.InvalidOperationException: 找到多个与名为“Home”的控制器匹配的类型。
一,当项目中存在多个网站报错,而不是新增Area出现这个错误时.应该在RouteConfig这样改: using System; using System.Collections.Generic; u ...
- LED的串联电阻值的计算
与LED串联的电阻被用于控制该LED导通时的电流量.为了计算电阻值,你需要知道输入电源电压(Vs,一般为5V),LED的正向电压(Vf)和你需要流过LED的电源(/)的数值. 其电阻欧姆值的计算公式( ...