溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

package.json 中版本號(hào)是什么

發(fā)布時(shí)間:2021-10-19 18:35:39 來源:億速云 閱讀:150 作者:柒染 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)package.json 中版本號(hào)是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、版本號(hào)簡介
軟件版本號(hào)有四部分組成:

第一部分為主版本號(hào),變化了表示有了一個(gè)不兼容上個(gè)版本的大更改。
第二部分為次版本號(hào),變化了表示增加了新功能,并且可以向后兼容。
第三部分為修訂版本號(hào),變化了表示有bug修復(fù),并且可以向后兼容。
第四部分為日期版本號(hào)加希臘字母版本號(hào),希臘字母版本號(hào)共有五種,分別為base、alpha、beta 、RC 、 release
eg:

關(guān)于希臘版本號(hào):
Base
此版本表示該軟件僅僅是一個(gè)假頁面鏈接,通常包括所有的功能和頁面布局,但是 頁面中的功能都沒有做完整的實(shí)現(xiàn),只是做為整體網(wǎng)站的一個(gè)基礎(chǔ)架構(gòu)。

Alpha
軟件的初級(jí)版本,表示該軟件在此階段以實(shí)現(xiàn)軟件功能為主,通常只在軟件開發(fā)者 內(nèi)部交流,一般而言,該版本軟件的Bug較多,需要繼續(xù)修改,是測(cè)試版本。測(cè)試 人員提交Bug經(jīng)開發(fā)人員修改確認(rèn)之后,發(fā)布到測(cè)試網(wǎng)址讓測(cè)試人員測(cè)試,此時(shí)可 將軟件版本標(biāo)注為alpha版。

Beta
該版本相對(duì)于Alpha 版已經(jīng)有了很大的進(jìn)步,消除了嚴(yán)重錯(cuò)誤,但還需要經(jīng)過多次 測(cè)試來進(jìn)一步消除,此版本主要的修改對(duì)象是軟件的UI。修改的的Bug 經(jīng)測(cè)試人 員測(cè)試確認(rèn)后可發(fā)布到外網(wǎng)上,此時(shí)可將軟件版本標(biāo)注為 beta版。

RC
該版本已經(jīng)相當(dāng)成熟,基本上不存在導(dǎo)致錯(cuò)誤的Bug,與即將發(fā)行的正式版本相差無幾。

Release
該版本意味“最終版本”,在前面版本的一系列測(cè)試版之后,終歸會(huì)有一個(gè)正式的版本,是最終交付用戶使用的一個(gè)版本。該版本有時(shí)也稱標(biāo)準(zhǔn)版。

二、 package.json中的依賴
dependencies字段指定了項(xiàng)目運(yùn)行所依賴的模塊,devDependencies指定項(xiàng)目開發(fā)所需要的模塊(測(cè)試階段和過渡階段的依賴應(yīng)該加在DevDependencies中)。它們都指向一個(gè)對(duì)象。該對(duì)象的各個(gè)成員,分別由模塊名和對(duì)應(yīng)的版本要求組成,表示依賴的模塊及其版本范圍。
eg:


  "name": "ethopia-waza",
  "description": "a delightfully fruity coffee varietal",
  "version": "1.2.3",
  "devDependencies": {
     "coffee-script": "~1.6.3"
  },
   "dependencies": {
     "bar": "file:../foo/bar"
  }
}
模塊名和版本號(hào)被假定組合成一個(gè)唯一的標(biāo)識(shí)符。

version字段必須能夠被node-semver解析。node-semver作為依賴項(xiàng)被捆綁進(jìn)了npm中。
其實(shí),版本號(hào)的寫法并不是只有我們熟知的 波浪號(hào)( ~3.8.0 )、插入號(hào)( ^3.8.0 )和3.8.0,只要是能夠被node-semver解析的寫法都是可以的。
主要有以下幾種:

示例:
version 必須確切匹配這個(gè)version
>version 必須大于這個(gè)version
>=version 必須大于等于這個(gè)version
< version 必須小于這個(gè)version
<=version 必須小于等于這個(gè)version
~version 大約相當(dāng)于version
^version 與version兼容
1.2.x 可以是1.2.0、1.2.1等,但不能是1.3.0
http://… URL作為依賴項(xiàng)
* 匹配任何版本
“”(空字符串) 匹配任何版本,和*一樣
version1 - version2 相當(dāng)于 >=version1 <=version2
range1 || range2 range1或range2其中一個(gè)滿足時(shí)采用該version
git… Git URL作為依賴項(xiàng)
user/repo GitHub URLs
tag 一個(gè)以tag發(fā)布的指定版本,參考npm-tag
path/path/path 本地Paths
{
    "dependencies": {
        "foo": "1.0.0 - 2.9999.9999",   
        "bar": ">=1.0.2 <2.1.2",        必須大于等于1.0.2版本且小于2.1.2版本
        "baz": ">1.0.2 <=2.3.4",        必須大于1.0.2版本且小于等于2.3.4版本
        "boo": "2.3.1",                 必須匹配這個(gè)版本
        "boo": "~2.3.1",                約等于2.3.1,只更新最小版本,相當(dāng)于2.3.X,即>=2.3.1 <2.4.0
        "thr": "2.3.x",
        "boo": "^2.3.1",                與2.3.1版本兼容,相當(dāng)于2.X.X, 即>=2.3.1 < 3.0.0,不改變大版本號(hào)。
        "qux": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
        "asd": "http://asdf.com/asdf.tar.gz",   在版本上指定一個(gè)壓縮包的url,當(dāng)執(zhí)行npm install 時(shí)這個(gè)壓縮包會(huì)被下載并安裝到本地。
        "til": "~1.2",   
        "elf": "~1.2.3", 
        "two": "2.x",
        "lat": "latest",             安裝最新版本
        "dyl": "file:../dyl",         使用本地路徑
        "adf": "git://github.com/user/project.git#commit-ish"    使用git URL加commit-ish
    }
}
三、版本范圍詳解
連字符范圍:X.Y.Z-A.B.C
指明版本范圍
1.2.3 - 2.3.4: >=1.2.3 <=2.3.4
起始版本不全: 缺少的部分補(bǔ)0
1.2 - 2.3.4: 相當(dāng)于1.2.0 - 2.3.4;
結(jié)束版本不全:所有以其開頭的版本均符合要求
1.2.3 - 2.3 :相當(dāng)于 >=1.2.3 < 2.4.0
1.2.3 - 2: 相當(dāng)于 >=1.2.3 < 3.0.0
帶有X的版本范圍:“1.2.X ”、“1.X” 、“1.2.*”
任何帶有X、x 和 *的版本號(hào)都是有誰存在就要匹配誰。
*:>=0.0.0
“”: >=0.0.0
1.x: >=1.0.0 <2.0.0
1.2.x: >=1.2.0 <1.3.0
1: >=1.0.0 <2.0.0
1.2: >=1.2.0 <1.3.0
波浪號(hào)范圍 ~1.2.3 ~1.2 ~1
~1.2.3: >=1.2.3 <1.3.0, 只能更新
~1.2: >=1.2.0 <1.3.0(相當(dāng)于~1.2.0,1.2.x)
~1:>=1.0.0 <2.0.0 (相當(dāng)于1.X,所有的1.X.X)
~1.2.3-beta.2: >=1.2.3-beta.2 <1.3.0

以上就是package.json 中版本號(hào)是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI