成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

NPM酷庫:semver 語義化版本判斷

Carbs / 2648人閱讀

摘要:今天在此向大家推薦一種非常流行的版本號命名規(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

相關(guān)文章

  • NPM酷庫043:joi,語義模式驗證

    摘要:酷庫,每天兩分鐘,了解一個流行庫。在酷庫中,我們了解到了數(shù)據(jù)模式驗證,以及庫。是語義化的對象數(shù)據(jù)模式驗證庫,所謂語義化,是指其方法名能夠明確表達(dá)其含義。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。· 在NPM酷庫042中,我們了解到了JSON Schema數(shù)據(jù)模式驗證,以及ajv庫。今天我們來學(xué)習(xí)另一個對象數(shù)據(jù)驗證的庫joi。 joi joi 是語義化的對象數(shù)據(jù)模式驗證庫,所謂語義...

    2bdenny 評論0 收藏0
  • pkg版本規(guī)范管理自動最佳實踐

    摘要:為什么為什么不是為什么不是為什么不是為什么不是嚴(yán)格的指導(dǎo)原則有助于為版本號提供意義。此外,如果你有打破當(dāng)前的,這同樣表示你需要升級你的主版本號了。 前提 何為版本?版本即語義版本控制( Semantic version 后面簡稱為 SemVer )是一種版本控制系統(tǒng),在過去幾年中一直在不斷發(fā)展。 隨著每天都在構(gòu)建新的插件,插件,擴展和庫,擁有通用的軟件開發(fā)項目版本化方法是一件好事,可以...

    Ocean 評論0 收藏0
  • vue-cli中配置webpack系列文章二 ------ check-versions.js

    check-versions.js //定制控制臺日志的輸入樣式 var chalk = require(chalk) // 加載語義化版本測試庫 var semver = require(semver) // 引入package.json文件 var packageConfig = require(../package.json) function exec(...

    Eidesen 評論0 收藏0
  • 深挖 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 主要安裝方式 ...

    JaysonWang 評論0 收藏0
  • 深挖 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 主要安裝方式 ...

    godruoyi 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<