您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關package.json 中版本號是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
一、版本號簡介
軟件版本號有四部分組成:
第一部分為主版本號,變化了表示有了一個不兼容上個版本的大更改。
第二部分為次版本號,變化了表示增加了新功能,并且可以向后兼容。
第三部分為修訂版本號,變化了表示有bug修復,并且可以向后兼容。
第四部分為日期版本號加希臘字母版本號,希臘字母版本號共有五種,分別為base、alpha、beta 、RC 、 release
eg:
關于希臘版本號:
Base
此版本表示該軟件僅僅是一個假頁面鏈接,通常包括所有的功能和頁面布局,但是 頁面中的功能都沒有做完整的實現,只是做為整體網站的一個基礎架構。
Alpha
軟件的初級版本,表示該軟件在此階段以實現軟件功能為主,通常只在軟件開發者 內部交流,一般而言,該版本軟件的Bug較多,需要繼續修改,是測試版本。測試 人員提交Bug經開發人員修改確認之后,發布到測試網址讓測試人員測試,此時可 將軟件版本標注為alpha版。
Beta
該版本相對于Alpha 版已經有了很大的進步,消除了嚴重錯誤,但還需要經過多次 測試來進一步消除,此版本主要的修改對象是軟件的UI。修改的的Bug 經測試人 員測試確認后可發布到外網上,此時可將軟件版本標注為 beta版。
RC
該版本已經相當成熟,基本上不存在導致錯誤的Bug,與即將發行的正式版本相差無幾。
Release
該版本意味“最終版本”,在前面版本的一系列測試版之后,終歸會有一個正式的版本,是最終交付用戶使用的一個版本。該版本有時也稱標準版。
二、 package.json中的依賴
dependencies字段指定了項目運行所依賴的模塊,devDependencies指定項目開發所需要的模塊(測試階段和過渡階段的依賴應該加在DevDependencies中)。它們都指向一個對象。該對象的各個成員,分別由模塊名和對應的版本要求組成,表示依賴的模塊及其版本范圍。
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"
}
}
模塊名和版本號被假定組合成一個唯一的標識符。
version字段必須能夠被node-semver解析。node-semver作為依賴項被捆綁進了npm中。
其實,版本號的寫法并不是只有我們熟知的 波浪號( ~3.8.0 )、插入號( ^3.8.0 )和3.8.0,只要是能夠被node-semver解析的寫法都是可以的。
主要有以下幾種:
示例:
version 必須確切匹配這個version
>version 必須大于這個version
>=version 必須大于等于這個version
< version 必須小于這個version
<=version 必須小于等于這個version
~version 大約相當于version
^version 與version兼容
1.2.x 可以是1.2.0、1.2.1等,但不能是1.3.0
http://… URL作為依賴項
* 匹配任何版本
“”(空字符串) 匹配任何版本,和*一樣
version1 - version2 相當于 >=version1 <=version2
range1 || range2 range1或range2其中一個滿足時采用該version
git… Git URL作為依賴項
user/repo GitHub URLs
tag 一個以tag發布的指定版本,參考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", 必須匹配這個版本
"boo": "~2.3.1", 約等于2.3.1,只更新最小版本,相當于2.3.X,即>=2.3.1 <2.4.0
"thr": "2.3.x",
"boo": "^2.3.1", 與2.3.1版本兼容,相當于2.X.X, 即>=2.3.1 < 3.0.0,不改變大版本號。
"qux": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
"asd": "http://asdf.com/asdf.tar.gz", 在版本上指定一個壓縮包的url,當執行npm install 時這個壓縮包會被下載并安裝到本地。
"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
起始版本不全: 缺少的部分補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 和 *的版本號都是有誰存在就要匹配誰。
*:>=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
波浪號范圍 ~1.2.3 ~1.2 ~1
~1.2.3: >=1.2.3 <1.3.0, 只能更新
~1.2: >=1.2.0 <1.3.0(相當于~1.2.0,1.2.x)
~1:>=1.0.0 <2.0.0 (相當于1.X,所有的1.X.X)
~1.2.3-beta.2: >=1.2.3-beta.2 <1.3.0
以上就是package.json 中版本號是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。