详解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 相关文章推荐
JQuery实现自定义对话框的代码
Jun 15 Javascript
javaScript call 函数的用法说明
Apr 09 Javascript
基于Jquery制作的幻灯片图集效果打包下载
Feb 12 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
May 12 Javascript
jquery实现简单实用的打分程序实例
Jul 23 Javascript
基于jquery编写的放大镜插件
Mar 23 Javascript
vue给组件传递不同的值方法
Sep 29 Javascript
微信小程序实现图片滚动效果示例
Dec 05 Javascript
小程序云开发之用户注册登录
May 18 Javascript
node 标准输入流和输出流代码实例
Sep 19 Javascript
微信小程序后端(java)开发流程的详细步骤
Nov 13 Javascript
JS实现音乐钢琴特效
Jan 06 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调用微信接口上传永久素材
2017/04/11 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
js 左右悬浮对联广告特效代码
2014/12/12 Javascript
javascript实现当前页导航激活的方法
2015/02/27 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
2017/07/17 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
2019/08/27 jQuery
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
python抽象基类用法实例分析
2015/06/04 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
python机器学习实战之树回归详解
2017/12/20 Python
python实现员工管理系统
2018/01/11 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
python set内置函数的具体使用
2019/07/02 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
keras K.function获取某层的输出操作
2020/06/29 Python
Python 创建TCP服务器的方法
2020/07/28 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
Python文件操作的面试题
2013/06/22 面试题
论文指导教师评语
2014/04/28 职场文书
党的群众路线学习材料
2014/05/16 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL