精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Facebook發(fā)布JavaScript包管理器Yarn 1.0

責(zé)任編輯:editor005

作者: 薛命燈

2017-09-11 20:21:54

摘自:INFOQ

需要指出的是,該特性完全由社區(qū)設(shè)計和實現(xiàn),Victor No l提交了RFC和驗收測試,并由Kaylie Kwon負(fù)責(zé)實現(xiàn)。

Facebook在官方網(wǎng)站上正式發(fā)布了JavaScript包管理器Yarn 1.0。在從Yarn誕生之日起至今的11個月時間里,Yarn擁有了大批的追隨者。GitHub上有175,000個項目在使用Yarn,許多大大小小的公司和廣大開源社區(qū)也在使用Yarn,每個月通過Yarn下載的包數(shù)量接近30億個。Yarn為廣大用戶節(jié)省了大量的時間。Twitter和微軟說他們的包安裝速度因此提升了5倍,Expo、Kenzan和Sentry表示性能和穩(wěn)定性的提升加快了他們的代碼交付速度。Yarn現(xiàn)在已經(jīng)成為主流持續(xù)集成平臺的預(yù)安裝項,如CircleCI、Travis CI和AppVeyor。

Yarn在Facebook內(nèi)部也得到了廣泛的采用,包括Facebook主應(yīng)用、Instagram、Oculus和WhatsApp。Yarn具有極佳的伸縮性,可以支持成千上萬個直接或間接的包依賴。Yarn的設(shè)計初衷就是要保證、穩(wěn)定性、彈性和高性能。基于這些原則,Yarn 1.0帶來了更多的新特性,希望能夠幫助Yarn社區(qū)更快地發(fā)展,構(gòu)建更好的項目。

Yarn 1.0新特性

1. Yarn工作區(qū)(workspace)

單體倉庫(mono repository)模式(方便跨項目共享代碼,同時避免依賴同步問題)如今已經(jīng)被大型的科技公司所采用,也正逐漸蔓延到開源社區(qū)和一些小型公司。為了讓人們更方便地采用該模式,Yarn增加了一個新特性——工作區(qū)。工作區(qū)可以自動從多個package.json中收集所有的依賴,然后一次性把它們安裝完畢。項目根目錄下會生成yarn.lock來鎖住這些文件。如果多個工作區(qū)之間存在依賴,Yarn會為它們創(chuàng)建鏈接,這樣所有的項目就可以共享最新的代碼。

2. yarn.lock自動合并

多個開發(fā)者在開發(fā)同一個項目時,有可能會更新包依賴,導(dǎo)致yarn.lock文件出現(xiàn)沖突。如果只有一兩個沖突,那么完全可以通過手動來解決,但如果沖突數(shù)量眾多,解決沖突就會變成一件很麻煩的事情。Yarn為此提供了自動合并yarn.lock文件的功能。通過運行yarn install命令可以觸發(fā)合并動作,如果合并成功,新的yarn.lock就會被保存到磁盤上。

3. 可選擇依賴版本(selective version resolution)

有時候,你的項目間接依賴了其他項目的包,而這些依賴包有了新版本,你急需使用依賴包的新功能。這個時候你要么等待其他項目更新這些依賴包,要么給其他項目拉一個分支,然后更新依賴包。但這些都不是最理想的方式。Yarn提供了可選擇依賴版本的新特性,通過在package.json文件里定義resolutions字段來告訴Yarn該使用哪個版本的依賴包。下圖就是一個通過該特性限定使用某個async模塊版本的例子。

需要指出的是,該特性完全由社區(qū)設(shè)計和實現(xiàn),Victor No l提交了RFC和驗收測試,并由Kaylie Kwon負(fù)責(zé)實現(xiàn)。

問題修復(fù)和其他方面的改進(jìn)

更好的交互式升級體驗更快的文件完整性檢查提供了一個獨立的yarn.lock文件解析模塊Yarn版本的一致性保證

社區(qū)的參與情況

項目在啟動后就引入了RFC流程,鼓勵社區(qū)參與項目的討論。有很多特性都來自社區(qū)的貢獻(xiàn),僅在2017年,就有超過40位貢獻(xiàn)者為Yarn貢獻(xiàn)了他們的力量。

未來的計劃

發(fā)布一個新包通常需要創(chuàng)建變更日志、執(zhí)行版本語義、同步相關(guān)項目的版本,還需要手動或通過腳本完成其他很多步驟。如果Yarn能夠為包發(fā)布者完成這些事情那豈不妙哉?另外,在添加或升級新包時,包的安全性也是一個很重要的考慮點。Yarn將會在包安全方面扮演一個重要的角色,Yarn將會與npm合作,將雙因子認(rèn)證帶到Y(jié)arn上。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 壶关县| 稻城县| 牙克石市| 桃江县| 云霄县| 城口县| 子长县| 昭通市| 安宁市| 麟游县| 永福县| 巴彦县| 泽州县| 连平县| 哈尔滨市| 沁水县| 茂名市| 张家川| 琼结县| 东台市| 郓城县| 临潭县| 故城县| 三门县| 昌乐县| 武鸣县| 富民县| 石屏县| 普格县| 那坡县| 溆浦县| 会昌县| 牙克石市| 沽源县| 岫岩| 镇江市| 自贡市| 敖汉旗| 明光市| 德令哈市| 通许县|