nodejs的dependency.md
dependency和devDependency的区别
package-a
--- package-b (dependency)
--- | --- package-c (devDependency)
--- | --- package-cc (dependency)
--- package-d (devDependency)
--- | --- package-e (dependency)
npm install后,package-b、package-d、package-cc,package-e 会被安装,其它不会被安装。
npm install --production后,package-b、package-cc 会被安装。其它不会被安装。
> npm install react --save // 做为 dependencies 安装
> npm install eslint --save-dev // 做为 devDependencies 安装
peerDependencies
package-a
--- package-b (dependency)
--- | --- package-c (dependency)
--- package-c (dependency)
在npm1和npm2中,npm install后,会有两次package-c的下载和安装。
package-b的package.json,设定peerDependencies为package-c后,会只下载和安装一次package-c。
在npm3中,依赖树扁平化,peerDependencies中声明的依赖不会被npm自动安装,而是输出warning日志。
optionalDependencies
npm install optionalDependencies指定的包失败后,依然能继续安装。
bundleDependencies(bundledDependencies)
一个包含了包名称的数组,这些包会在发布一起被打包
Bundled dependencies 应该在您的项目中。该功能基本上与正常的dependencies相同。当运行yarn pack时,它们也会被打包
正常的dependencies通常从npm的registry中安装。Bundled Dependencies在正常的dependencies不足的情况下很有用:
当您想重新使用不是来自npm registry或者被修改的第三方库时
当您想重新使用您自己的项目作为模块时
当您想要分发一些文件和您的模块时
实用策略
- 升级到NPM3,保持依赖树扁平化
- 固定模块版本号,不使用
~,^,<,>这些不确定的版本标识符 - 不用peerDependencies
参考链接:
http://javascript.ruanyifeng.com/nodejs/packagejson.html
https://github.com/SamHwang1990/blog/issues/7
http://yarnpkg.top/DependencyType.html
https://segmentfault.com/a/1190000008398819
nodejs的dependency.md的更多相关文章
- GiBbook实用配置以及插件
GitBook可以在您的计算机上用于构建本地书籍,,可以本地预览 安装gitbook 环境要求: 安装GitBook,您的系统需要安装NodeJS(推荐v4.0.0及以上版本) NodeJS下载地址 ...
- 为 github markdown 文件生成目录(toc)
业务需要 在编写 github 项目时,有时候会编写各种 README.md 等 markdown 文件,但是 github 默认是没有目录的. 于是就自己写了一个小工具. markdown-toc ...
- tars环境部署
author: headsen chen date: 2018-10-18 12:35:40 注意:依据Git上的tars搭建步骤整理而来 参考: https://max.book118.com/h ...
- 20121124.Nodejs创建HTTP程序.md
####1.源代码: var http=require('http');//读取http模块 http.createServer(function(req,res){//创建一个服务,接受一个回 ...
- Ubuntu安装新版本nodejs的5种姿势
引言: 写这篇文章之前,关于ubuntu14.04(Trusty)默认安装的NodeJS版本是0.10.25百思不解(什么鬼,哪一年的NodeJS) 写这篇文章之时,NodeJS的LTS版本号都已经1 ...
- Nodejs介绍及npm工具使用
一.Nodejs介绍 Nodejs英文网:https://nodejs.org/en/ Nodejs中文网:http://nodejs.cn/ Node.js 是一个基于 Chrome V8 引擎的 ...
- nodeJS学习(2)--- NPM 使用介绍
前言:express 推出了4.X,自己尝试了一下,出现了各种问题.结果查看了各种文档和问题,现在在这个给大家分享下4.X版本的安装. NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具, ...
- NodeJS 安装cnpm命令行工具
在安装之前,请确保已安装Git和NodeJS. cmd机内命令窗口,输入以下命令: git config --system http.sslcainfo /bin/curl-ca-bundle.crt ...
- NPM 使用介绍(包管理工具,解决NodeJS代码部署上的很多问题)
引用地址:http://www.runoob.com/nodejs/nodejs-npm.html NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问 ...
随机推荐
- 区块链区块的生成和链接,比特币btc的产生,UTXO的生成和消耗,比特币系统
区块链区块的生成和链接,比特币btc的产生,UTXO的生成和消耗,比特币系统 区块链区块的生成和链接,比特币btc的产生,UTXO的生成和消耗,比特币系统
- golang学习笔记11 golang要用jetbrain的golang这个IDE工具开发才好
golang学习笔记11 golang要用jetbrain的golang这个IDE工具开发才好 jetbrain家的全套ide都很好用,一定要dark背景风格才装B 从File-->s ...
- 几种线程安全的Map解析
转载自 面试必问-几种线程安全的Map解析 HashMap线程安全的吗? Java中平时用的最多的Map集合就是HashMap了,它是线程不安全的. 看下面两个场景: 1.当用在方法内的局部变量时,局 ...
- ASP.NET Core Web API 索引 (更新Redis in .NET Core)
https://www.cnblogs.com/cgzl/p/9178672.html
- Tensorflow timeline trace
根据 https://github.com/tensorflow/tensorflow/issues/1824 简单进行了测试 修改运行的脚本增加如下关键代码 例如mnist_softmax.py f ...
- Java中this和super关键字
今天练习到Java中的this和super关键字,我有如下总结: 1.子类继承父类,子类初始化对象,必须先调用父类构造方法,因为随时有可能要使用父类的成员变量. 2.get和set方法只是对成员变量进 ...
- hiho一下 第144周
题目1 : 机会渺茫 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在追求一名学数学的女生小Z.小Z其实是想拒绝他的,但是找不到好的说辞,于是提出了这样的要求: ...
- Golang 数组和字符串之间的相互转换[]byte/string
package main import ( "fmt" ) func main() { str := "hello" arr := []byte(str) fm ...
- P5241 序列(滚动数组+前缀和优化dp)
P5241 序列 挺神仙的一题 看看除了dp好像没什么其他办法了 想着怎么构个具体的图出来,然鹅不太现实. 于是我们想办法用几个参数来表示dp数组 加了几条边肯定要的吧,于是加个参数$i$表示已加了$ ...
- P3813 [FJOI2017]矩阵填数(组合数学)
P3813 [FJOI2017]矩阵填数 shadowice1984说:看到计数想容斥........ 这题中,我们把图分成若干块,每块的最大值域不同 蓝后根据乘法原理把每块的方案数(互不相干)相乘. ...