详解package.json版本号规则


Posted in Javascript onAugust 01, 2019

版本的格式

major.minor.patch

主版本号.次版本号.修补版本号

patch:修复bug,兼容老版本

minor:新增功能,兼容老版本

major:新的架构调整,不兼容老版本

依赖版本号规则

version

必须匹配某个版本

如:1.1.2,表示必须依赖1.1.2版

>version

必须大于某个版本

如:>1.1.2,表示必须大于1.1.2版

>=version

可大于或等于某个版本

如:>=1.1.2,表示可以等于1.1.2,也可以大于1.1.2版本

<version

必须小于某个版本

如:<1.1.2,表示必须小于1.1.2版本

<=version

可以小于或等于某个版本

如:<=1.1.2,表示可以等于1.1.2,也可以小于1.1.2版本

~version

大概匹配某个版本

如果minor版本号指定了,那么minor版本号不变,而patch版本号任意

如果minor和patch版本号未指定,那么minor和patch版本号任意

如:~1.1.2,表示>=1.1.2 <1.2.0,可以是1.1.2,1.1.3,1.1.4,.....,1.1.n

如:~1.1,表示>=1.1.0 <1.2.0,可以是同上

如:~1,表示>=1.0.0 <2.0.0,可以是1.0.0,1.0.1,1.0.2,.....,1.0.n,1.1.n,1.2.n,.....,1.n.n

^version

兼容某个版本

版本号中最左边的非0数字的右侧可以任意

如果缺少某个版本号,则这个版本号的位置可以任意

如:^1.1.2 ,表示>=1.1.2 <2.0.0,可以是1.1.2,1.1.3,.....,1.1.n,1.2.n,.....,1.n.n

如:^0.2.3 ,表示>=0.2.3 <0.3.0,可以是0.2.3,0.2.4,.....,0.2.n

如:^0.0,表示 >=0.0.0 <0.1.0,可以是0.0.0,0.0.1,.....,0.0.n

x-range

x的位置表示任意版本

如:1.2.x,表示可以1.2.0,1.2.1,.....,1.2.n

*-range

任意版本,""也表示任意版本

如:*,表示>=0.0.0的任意版本

version1 - version2

大于等于version1,小于等于version2

如:1.1.2 - 1.3.1,表示包括1.1.2和1.3.1以及他们件的任意版本

range1 || range2

满足range1或者满足range2,可以多个范围

如:<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0,表示满足这3个范围的版本都可以

yarn.lock作用

通过上面可知每次下载依赖的版本可能都会不同,这就造成了有时本地build完全没有问题,但是推到服务器或者在别人电脑上就会build失败。

所以yarn.lock会记录所有包的版本以及包的依赖的版本,这样就可以保证每个人下载的依赖版本都是完全相同的,从而避免很多问题。当然npm也有类似功能,不在此赘述。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何使用JS获取IE上传文件路径(IE7,8)
Jul 08 Javascript
JavaScript中的Web worker多线程API研究
Dec 06 Javascript
avalonjs实现仿微博的图片拖动特效
May 06 Javascript
JavaSacript中charCodeAt()方法的使用详解
Jun 05 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
AngularJS实践之使用NgModelController进行数据绑定
Oct 08 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
Dec 02 Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
Apr 13 Javascript
基于AngularJs select绑定数字类型的问题
Oct 08 Javascript
前端js中的事件循环eventloop机制详解
May 15 Javascript
JS实现关闭小广告特效
Jan 29 Javascript
ES6 新增的创建数组的方法(小结)
Aug 01 #Javascript
详解基于Wepy开发小程序插件(推荐)
Aug 01 #Javascript
深入浅析Vue中mixin和extend的区别和使用场景
Aug 01 #Javascript
在Vue环境下利用worker运行interval计时器的步骤
Aug 01 #Javascript
详解Vue2.5+迁移至Typescript指南
Aug 01 #Javascript
微信小程序组件传值图示过程详解
Jul 31 #Javascript
vue.js实现回到顶部动画效果
Jul 31 #Javascript
You might like
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
phpMyadmin 用户权限中英对照
2010/04/02 PHP
php下统计用户在线时间的一种尝试
2010/08/26 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
js select常用操作控制代码
2010/03/16 Javascript
javascript 隔行换色函数代码
2010/10/24 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
2017/09/12 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
关于vue面试题汇总
2018/03/20 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
python多线程编程方式分析示例详解
2013/12/06 Python
python数据封装json格式数据
2018/03/04 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python 实现A*算法的示例代码
2018/08/13 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
竞聘医务工作人员的自我评价分享
2013/11/04 职场文书
美德好少年主要事迹
2014/01/29 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers