dependencies和devDependencies的区别?
当我们项目需要下载一个模块的时候,我们安装npm包(在项目目录下面npm install module_name)的时候,很多时候我们会在后面加上–save-dev 或 –save。这两个参数代表什么呢?
初识
相信很多人都会回答:
npm install module-name -save 自动把模块和版本号添加到dependencies部分
npm install module-name -save-dev 自动把模块和版本号添加到devdependencies部分
dependencies是什么呢? 生产环境。
devdependencies是什么呢? 开发环境。
网上也可以查到很多资料,大概回答意思是,我们搭建一个webpack+react+es6的项目,像webpack babel这种负责打包编译的,我们就应该装在开发环境,像react之类的装在生产环境。
可是为什么呢?
我们不能告诉我们这样做,我们就只这样做,我们要知之其所以然呀。
恩。我试着吧react放进了dependencies,打包出来的文件依然可以运行,并没有什么问题。
why ???难道文档只是建议而已吗???
实质区别
如果我们只是单纯的做项目,那么我们可简单地认为生产环境和开发环境做为一种友善的提示,实质没有什么区别;但是,如果在发布npm包的时候,两种环境安装方式是有很大区别的!!!
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
假设有以下两个模块:
模块A
- devDependencies
模块B
- dependencies
模块C
模块D
- devDependencies
模块E
- dependencies
模块A
npm install D的时候, 下载的模块为:
- D
- A
- C
当我们下载了模块D的源码,并且在根目录下npm install, 下载的模块为:
- A
- C
- E
|
所以,在发布npm包的时候,本身dependencies下的模块会作为依赖,一起被下载;devDependencies下面的模块就不会自动下载了;但对于项目而言,npm install 会自动下载devDependencies和dependencies下面的模块。
dependencies和devDependencies的区别?的更多相关文章
- dependencies与devDependencies的区别
npm install在安装node模块时,有两种命令参数可以把它们的信息写入package.json文件: –save –save-dev 但它的文档里1,只提到一个小区别,–save会把依赖包名称 ...
- dependencies 与 devDependencies 的区别
dependencies 与 devDependencies 的区别 在使用 npm install 安装 npm 包时,有两种命令参数可以把它们的信息写入 package.json 文件: --sa ...
- package.json文件中dependencies和devDependencies的区别
在工作和学习中,我经常会用的npm 下载各种包,有时就会遇到各种npm 的形式,现在就捋一捋 首先要先了解 package.json文件中dependencies和devDependencies的 ...
- #006 dependencies和devDependencies的区别
dependencies 和 devDependencies 区别 在 npm 中的 package.json ,有两种插件的依赖包配置形式。 dependencies 和 devDependenci ...
- dependencies与devDependencies的区别----npm install
npm install在安装node模块时,有两种命令参数可以把它们的信息写入package.json文件. –save –save-dev 那二者的区别在哪里呢? –save会把依赖包名称添加到pa ...
- cnpm install -S 与cnpm install -D (dependencies和devDependencies的区别)
npm install takes 3 exclusive, optional flags which save or update the package version in your main ...
- dependencies和devDependencies两者区别
在npm生成的package.json文件中,有devDependencies和dependencies两个环境 devDependencies 用于开发环境(本地) dependencies 用于生 ...
- npm package.json中的dependencies和devDependencies的区别
转载:http://www.cnblogs.com/jes_shaw/p/4497836.html 一个node package有两种依赖,一种是dependencies一种是devDependenc ...
- package.json中dependencies 与devDependencies 的区别
首先,dependencies中安装的依赖是生产环境的依赖,即项目要运行所必须安装的包:devDependencies中安装的的依赖是开放环境的依赖,即在开发项目时需要安装的依赖. 其次,在安装依赖的 ...
随机推荐
- 福建工程学院第十四届ACM校赛M题题解 fwt进阶,手推三进制fwt
第九集,结束亦是开始 题意: 大致意思就是给你n个3进制的数字,让你计算有多少对数字的哈夫曼距离等于i(0<=i<=2^m) 思路: 这个是一个防ak题,做法是要手推公式的fwt 大概就这 ...
- Postgresql 大小版本升级
文章结构如下: Postgresql是一个非常活跃的社区开源项目,更新速度很快,每一次版本的更新都会积极的修复旧版本的BUG,性能上也会有不同幅度的提升.10之前的版本由三部分组成,10开始只有两部分 ...
- SQL----Group By and Having
合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 ...
- ListVie的用法
1.在布局中放入一个listView <ListView android:id="@+id/list_view" android:layout_width="mat ...
- Linux Exploit系列之四 使用return-to-libc绕过NX bit
使用return-to-libc绕过NX bit 原文地址:https://bbs.pediy.com/thread-216956.htm 这篇讲解的比较好,主要的问题是获得system地址和exit ...
- spring 在web.xml 里面如何使用多个xml配置文件
1, 在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载.所有逗号分割的xml.如果没有这个参数,spring默认加载web-inf/applica ...
- Storm项目开发纪要
1.POM引用storm-core和javax.servlet-api这两个组件,如果本地模式跑拓扑,要把<scope>provided</scope>去掉:如果远程发布运行, ...
- django笔记一
课程介绍 MVC 大部分开发语言中都有MVC框架 MVC框架的核心思想是:解耦 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用 m表示model,主要用于对数据库层的封 ...
- Eclipse设置模板codetemplates
在Window->Preferences->Java->Code Style->Code Templates,点击"Import",导入模板codetemp ...
- flask实现文件的上传
文件上传过程中,一定要进行文件大小的校验,如果用户上传文件过大,比如:100GB,所以一直在处理这个请求,别的请求进来就无法处理了,所以要限制上传文件的大小. flask中文件上传大小的校验 flas ...