vue开发实战2.0.3——插件高级范围语法

前提:一个完整的版本号组表示为[主要版本号,次要版本号,补丁版本号]

高级范围语法指按照确定的方法分离比较器为原始比较器。通过原始比较器可以明显的看出版本范围。

连字符(-) X.Y.Z - A.B.C

常规使用:

1.2.3 - 2.3.4 1.2.3<=实际版本<=2.3.4

如果开始版本只提供了部分版本号,则用0替换丢失的部分:

1.2 - 2.3.4 1.2.0<=实际版本<=2.3.4

如果结束版本只提供了部分版本号,则接受 所有 符合提供版本号部分的版本,不接受超过提供版本号部分的版本:

1.2.3 - 2.3 1.2.3<=实际版本<2.4.0
1.2.3 - 2 1.2.3<=实际版本<3.0.0

x范围符 1.2.X 1.X 1.2.* *

X、x或*都可以用来“替换”[主,次,补丁]数组中的一个,而部分版本范围被视为X范围,因此特殊字符是可选的:

* 任意版本  
1.x 1.0.0<=实际版本<2.0.0 匹配[主]版本 1
1.2.x 1.2.0<=实际版本<1.3.0 匹配[主,次]版本 1.2

腭化符号/波浪号(~) ~1.2.3 ~1.2 ~2

如果在比较器上制定了次要版本,则允许补丁级修改。Allows minor-level changes if not:

~1.2.3 1.2.3<=实际版本<1.3.0
~1.2 1.2.0<=实际版本<1.3.0
~1 1.0.0<=实际版本<2.0.0
~0.2.3 0.2.3<=实际版本<0.3.0
~0.2 0.2.0<=实际版本<0.3.0
~0 0.0.0<=实际版本<1.0.0
~1.2.3-beta.2 1.2.3<=实际版本<1.3.0 注意:如果大于等于beta.2则在1.2.3版本中允许进行预处理。因此1.2.3-beta.4是允许的,但是1.2.4-beta.2不允许。因为是不同[主,次,补丁]数组的映射。

补字符号(^) ^1.2.3 ^0.2.5 ^0.0.4

允许最左边不为0的不进行版本提升(不知道怎么翻译好^_^,附原句)Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch] tuple.换句话说,^1.0.0允许进行补丁和次要更新,对^0.X进行补丁更新,对版本0.0.x不进行更新。

当需要在0.2.4和0.3.0版本之间进行重大更改时,使用补字符号是理想的,它假定在0.2.4和0.2.5之间不会有重大修改(如不兼容的修改)。按照惯例,它允许假定为加性(但不破坏)的变化。

^1.2.3 1.2.3<=实际版本<2.0.0
^0.2.3 0.2.3<=实际版本<0.3.0
^0.0.3 0.0.3<=实际版本<0.0.4
^1.2.3-beta.2 1.2.3-beta.2<=实际版本<2.0.0 注意:如果大于等于beta.2则在1.2.3版本中允许进行预处理。因此1.2.3-beta.4是允许的,但是1.2.4-beta.2不允许。因为是不同[主,辅,布丁]数组的映射。
^0.0.3-beta 0.0.3-beta<=实际版本<0.0.4 注意:如果大于等于beta,仅在0.0.3版本中允许进行预处理。因此。0.0.3-pr.2允许

解析补字符号范围时,缺少的补丁版本值翻译为数字0,但是允许该值的灵活性,即使主要版本和次要版本都是0;

^1.2.x 1.2.0<=实际版本<2.0.0
^0.0.x 0.0.0<=实际版本<0.1.0
^0.0 0.0.0<=实际版本<0.1.0

缺少的次要版本值和补丁版本值翻译为0,但也允许这些值内的灵活性,即使主要版本为0:

^1.x 1.0.0<=实际版本<2.0.0
^0.x 0.0.0<=实际版本<1.0.0

原文:https://docs.npmjs.com/misc/semver#advanced-range-syntax

猜你喜欢

转载自blog.csdn.net/guishifoxin/article/details/82964882