Yarn 是 Facebook, Google, Exponent 和 Tilde 開發(fā)的一款新的 JavaScript 包管理工具。就像我們可以從官方文檔了解那樣,它的目的是解決這些團(tuán)隊(duì)使用 npm 面臨的少數(shù)問題,即:
-
安裝的時(shí)候無法保證速度/一致性
-
安全問題,因?yàn)?npm 安裝時(shí)允許運(yùn)行代碼
Yarn 同樣是一個(gè)從 npm 注冊源獲取模塊的新的 CLI 客戶端。注冊的方式不會有任何變化 —— 你同樣可以正常獲取與發(fā)布包。
yarn,它是 Facebook 最近開源的,優(yōu)點(diǎn)是更快、更安全、更可靠。它的主要特性有離線模式、確定性、網(wǎng)絡(luò)性能、多注冊、網(wǎng)絡(luò)恢復(fù)能力、扁平模式以及 Emoji。
快速:
-
Yarn 會緩存下載的每一個(gè)包,所以以后不需要重新下載。它還可以并行允許,最大化資源利用,所以安裝速度更快。
可靠:
-
使用一個(gè)詳細(xì)但簡潔、文件格式、確定性算法來安裝,Yarn 可以確保在一個(gè)系統(tǒng)中與另一個(gè)系統(tǒng)中運(yùn)行的方式完全相同。
安全:
-
Yarn 會在代碼運(yùn)行前通過校驗(yàn)來驗(yàn)證包安裝的完整性。
Yarn特性
離線模式:
-
如果你之前安裝過某個(gè)包,你不需要網(wǎng)絡(luò)連接就可以重新安裝它;
確定性:
-
無論安裝順序如何,相同的依賴在不同的機(jī)器上都是以相同的方式安裝;
網(wǎng)絡(luò)優(yōu)化:
-
Yarn 會有效的隊(duì)列化請求,以便最大化網(wǎng)絡(luò)利用;
多注冊:
-
通過 NPM 或 Bower 安裝任何應(yīng)用,并確保包安裝流程相同;
網(wǎng)絡(luò)恢復(fù)能力:
-
一個(gè)單一的請求失敗不會引起一個(gè)安裝的失敗,請求會在失敗時(shí)重試;
扁平模式:
解決不匹配的版本依賴為一個(gè)獨(dú)立的版本,避免創(chuàng)建重復(fù)的;
更多 Emojis。
Yran官網(wǎng)
Yarn英文官網(wǎng): https://www.yarnpkg.com/
Yarn中文官網(wǎng):https://classic.yarnpkg.com/zh-Hans/