真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

npm語義版本控制的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下npm語義版本控制的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

在安寧等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),安寧網(wǎng)站建設(shè)費(fèi)用合理。

場景引入

開發(fā)時,經(jīng)常需要依賴一些模塊(包),我們進(jìn)行了下載之后,便一直在該版本的模塊環(huán)境下進(jìn)行開發(fā),但是線上的服務(wù)器(其他開發(fā)者)一般都是根據(jù)依賴來配置文件,重新下載各個模塊,但是保不齊某個模塊的版本已經(jīng)更新了,這時線上的包會更新到最新的版本,但你的代碼還是依據(jù)老版本來寫的,這時可能會產(chǎn)生一些不知名的 Bug。

為了保持 JavaScript 生態(tài)系統(tǒng)的健康,可靠和安全,npm 軟件包進(jìn)行重大更新時,建議在 package.json 文件中發(fā)布帶有更新版本號的軟件包的新版本,文件遵循語義版本規(guī)范。

遵循語義版本規(guī)范可以幫助依賴代碼的其他開發(fā)人員了解給定版本中的更改范圍,并在必要時調(diào)整自己的代碼。

關(guān)于語義版本控制

為了幫助依賴你的代碼的開發(fā)人員,建議在 1.0.0 開始包版本并按如下方式遞增。npm 包的版本號的格式 x.y.z ,版本好的格式遵循 semver 2.0 規(guī)范。

代碼狀態(tài)階段規(guī)則示例版本
首發(fā)新產(chǎn)品
 New product
從1.0.0開始1.0.0
向后兼容的錯誤修復(fù)補(bǔ)丁發(fā)布
 Patch release
第三位數(shù)增加1.0.1
向后兼容的新功能次要發(fā)布
 Minor release
中間數(shù)字增加
 并將最后一個數(shù)字重置為零
1.1.0
破壞向后兼容性的更改主要發(fā)布
 Major release
第一個數(shù)字增加
 并將中間和最后一個數(shù)字重置為零
2.0.0

版本規(guī)范識別

脫字符 ^

npm 通過脫字符(^)來限定所安裝模塊的主版本號,而該脫字符對于不同的版本號有不同的更新機(jī)制。

  • ^1.2.1 更新版本范圍為 >=1.2.1 && < 2.0.0 ;

  • ^0.2.1 更新版本范圍為 >=0.2.1 && < 0.3.0 ;

  • ^0.0.1 更新版本范圍為 0.0.2 (相當(dāng)于鎖定為了 0.0.2 版本);

波浪號 ~

限定模塊的次要版本。

  • ~1.2.1 更新版本范圍為 >=1.2.1 && < 1.3.0 ;

  • ~0.2.1 更新版本范圍為 0.3.0 (相當(dāng)于鎖定為了 0.3.0 版本);

  • 當(dāng)主版本號/次版本號/修訂版本號為 X or x or * 時,那么 update 或 install 是會下載該分支最新的版本號;

星號 *

跟新或安裝模塊時會安裝>=0.0.0的最新版本

  • 1.x 更新版本范圍為 >=1.0.0&&< 2.0.0 ;

  • 1.2.x 更新版本范圍為 >=1.2.0&&< 1.3.0 ;

更多

1.可以把項目依賴的包固定在某一個版本,強(qiáng)制大家安裝相同的依賴樹

npm install react --save -E

上面命令會將 react 的版本號進(jìn)行固定,但是該方式只能控制項目中直接依賴的包的版本,無法控制項目模塊中依賴的包的版本號,所以這種方式也無法讓不同的使用者得到相同的依賴樹。

2.使用 npm shrinkwrap ,可以將項目中的模塊版本進(jìn)行精確鎖定 運(yùn)行命令 npm shrinkwrap ,會產(chǎn)生一個 npm-shrinkwrap.json 文件,這個文件保存了所有當(dāng)前使用的依賴模塊的版本。把該文件提交到 git 倉庫中,這樣其他人在 clone 你的項目的時候,執(zhí)行 npm install 命令時,npm 檢測到該文件中的信息會完整的還原出完全相同的依賴樹。

npm install --save-dev react // 安裝react
npm prune  // 清除未被使用的模塊
npm shrinkwrap

注:這種方式,安裝一個模塊包的方式顯得有些比較繁瑣

3.使用 yarn 可以得到模塊包精確控制的結(jié)果 yarn 是一個與 npm 兼容的 node 包管理器,使用它安裝 npm 包,會自動在項目目錄創(chuàng)建一個yarn.lock 文件,該文件包含了當(dāng)前項目中所安裝的依賴包的版本信息,其他人在使用 yarn 安裝項目的依賴包時就可以通過該文件創(chuàng)建一個完全相同的依賴環(huán)境。

yarn init //使用yarn創(chuàng)建一個項目
yarn add  //使用yarn 安裝一個包

此外,yarn 除了可以自動幫我們鎖定依賴包的版本,yarn 還在本地緩存已經(jīng)安裝過的包,當(dāng)再次安裝時,直接從本地讀取即可。安裝速度得到大大提升。但 yarn 的使用需要整個團(tuán)隊都去使用,還是有一定的成本的。

看完了這篇文章,相信你對“npm語義版本控制的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


本文標(biāo)題:npm語義版本控制的示例分析-創(chuàng)新互聯(lián)
瀏覽地址:http://weahome.cn/article/dhoogi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部