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代码部署上的很多问 ...
随机推荐
- Music life
some songs: you are you are <<你眼中的世界> Trouble I'm In > 1:40 secs 忧桑钢琴曲 < 豆花之歌 The Tru ...
- 算法提高 c++_ch02_01 (强制类型转换)
编写一个程序,利用强制类型转换打印元音字母大小写10种形式的ASCII码. 输出的顺序为:大写的字母A,E,I,O,U的ASCII码,小写的字母a,e,i,o,u的ASCII码.所有的ASCII码都用 ...
- 2、在VM上的 CentOS 6.5 上安装mysql
1.查看系统是否安装了MySQL 使用命令: #rpm -qa | grep mysql 2.卸载已安装的MySQL 卸载mysql命令如下: #rpm -e - ...
- Django框架----权限管理(设计分析以及具体细节)
说起权限我们大家都知道,不一样的角色会有不一样的权限.比如就像学生管理系统一样,管理员,老师,学生之间的权限都是不一样的,那么展示的页面也是不一样的.所以,我们现在来看看具体操作. 目标:生成一个独立 ...
- Charles 从入门到精通 --转
文章目录 1. 目录及更新说明 2. Charles 限时优惠 3. 简介 4. 安装 Charles 5. 将 Charles 设置成系统代理 6. Charles 主界面介绍 7. 过滤网络请求 ...
- The Little Prince-11/30
The Little Prince-11/30 Today, I have a meeting in our department. I sincerely hope that all of my d ...
- Javaweb笔记—03(BS及分页的业务流程)
DAO部分:中间层声明该有的变量 pagerBook pageData sumRow sumPage求出总的记录数id唯一标识:select count(id) as rowsum from book ...
- 状态管理之cookie使用及其限制、session会话
# 1.什么是状态管理? 将浏览器与web服务器之间多次交互当作一个整体来处理,并且将多次交互所涉及的数据(即状态)保存下来.(cookie浏览器所涉及到的访问数据保存下来)# 2.如何进行状态管理? ...
- Leetcode480-Sliding Window Median
Median is the middle value in an ordered integer list. If the size of the list is even, there is no ...
- Linux lvm 分区知识笔记
盘面上可以细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512bytes那么大. 通常所说的"硬盘分区"就是指修改磁盘分区表,它定义了"第n ...