摘要:今天在此向大家推薦一種非常流行的版本號命名規(guī)則語義化版本。語義化版本約定修訂版本號代表在和之前接口不變的前提下修正了。就是專門用于語義化版本號檢查的庫,其也是語義化版本標(biāo)準(zhǔn)的制定者。
NPM酷庫,每天兩分鐘,了解一個流行NPM庫。
軟件的命運就是不斷維護(hù)、更新、迭代,所以我們用版本號來區(qū)分一個軟件的不同時期和形態(tài),版本號的命名方式有各種各樣,有的以小數(shù)表示(幾點幾),有的以日期表示,有的以代碼提交Hash表示等等。
今天在此向大家推薦一種非常流行的版本號命名規(guī)則:語義化版本。
所有NPM包都是用語義化版本號管理的,其格式如下
主版本號.次版本號.修訂號
比如,2.1.12,代表主版本號為2,次版本號是1,修訂版本號是12。語義化版本約定:
修訂版本號代表在和之前接口不變的前提下修正了BUG。
次版本號變化說明產(chǎn)品增加了新特性,接口可能已經(jīng)發(fā)生了變化。
主版本號變化代表產(chǎn)品已經(jīng)發(fā)生了很大的改變,與之前版本不兼容。
semver在項目中,我們也許會在某些情況下對版本號進(jìn)行檢查、比較等操作。比如一個典型案例,在服務(wù)端判斷APP客戶端是否需要升級。
semver 就是專門用于語義化版本號檢查的庫,其也是語義化版本標(biāo)準(zhǔn)的制定者。
const semver = require("semver") semver.valid("1.2.3") // "1.2.3" semver.valid("a.b.c") // null semver.clean(" =v1.2.3 ") // "1.2.3" semver.satisfies("1.2.3", "1.x || >=2.5.0 || 5.0.0 - 7.2.3") // true semver.gt("1.2.3", "9.8.7") // false semver.lt("1.2.3", "9.8.7") // true參考資料
https://github.com/npm/node-s...
https://semver.org/lang/zh-CN/
歡迎關(guān)注公眾號:梁興臣每天了解一個NPM庫,一年后成為Node.js高手
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/92750.html
摘要:酷庫,每天兩分鐘,了解一個流行庫。在酷庫中,我們了解到了數(shù)據(jù)模式驗證,以及庫。是語義化的對象數(shù)據(jù)模式驗證庫,所謂語義化,是指其方法名能夠明確表達(dá)其含義。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。· 在NPM酷庫042中,我們了解到了JSON Schema數(shù)據(jù)模式驗證,以及ajv庫。今天我們來學(xué)習(xí)另一個對象數(shù)據(jù)驗證的庫joi。 joi joi 是語義化的對象數(shù)據(jù)模式驗證庫,所謂語義...
摘要:為什么為什么不是為什么不是為什么不是為什么不是嚴(yán)格的指導(dǎo)原則有助于為版本號提供意義。此外,如果你有打破當(dāng)前的,這同樣表示你需要升級你的主版本號了。 前提 何為版本?版本即語義版本控制( Semantic version 后面簡稱為 SemVer )是一種版本控制系統(tǒng),在過去幾年中一直在不斷發(fā)展。 隨著每天都在構(gòu)建新的插件,插件,擴展和庫,擁有通用的軟件開發(fā)項目版本化方法是一件好事,可以...
check-versions.js //定制控制臺日志的輸入樣式 var chalk = require(chalk) // 加載語義化版本測試庫 var semver = require(semver) // 引入package.json文件 var packageConfig = require(../package.json) function exec(...
摘要:可以通過查詢對映模塊的信息安裝機制輸入命令并敲下回車后,會經(jīng)歷如下幾個階段以為例執(zhí)行工程自身當(dāng)前工程如果定義了鉤子此時會被執(zhí)行。在以前會嚴(yán)格按照依賴樹的結(jié)構(gòu)進(jìn)行安裝,因此會造成模塊冗余。當(dāng)發(fā)現(xiàn)有重復(fù)模塊時,則將其丟棄。 使用NPM安裝的時候會經(jīng)常出現(xiàn)包沖突(比如多個主模塊的子模塊版本不一致等),導(dǎo)致在開發(fā)過程中會遇到各種或大或小的問題。所有在這會介紹以下內(nèi)容: NPM 主要安裝方式 ...
摘要:可以通過查詢對映模塊的信息安裝機制輸入命令并敲下回車后,會經(jīng)歷如下幾個階段以為例執(zhí)行工程自身當(dāng)前工程如果定義了鉤子此時會被執(zhí)行。在以前會嚴(yán)格按照依賴樹的結(jié)構(gòu)進(jìn)行安裝,因此會造成模塊冗余。當(dāng)發(fā)現(xiàn)有重復(fù)模塊時,則將其丟棄。 使用NPM安裝的時候會經(jīng)常出現(xiàn)包沖突(比如多個主模塊的子模塊版本不一致等),導(dǎo)致在開發(fā)過程中會遇到各種或大或小的問題。所有在這會介紹以下內(nèi)容: NPM 主要安裝方式 ...
閱讀 2860·2021-11-24 09:39
閱讀 2842·2021-09-23 11:45
閱讀 3457·2019-08-30 12:49
閱讀 3429·2019-08-30 11:18
閱讀 2106·2019-08-29 16:42
閱讀 3400·2019-08-29 16:35
閱讀 1386·2019-08-29 11:21
閱讀 1985·2019-08-26 13:49