摘要:是一個新的包管理器,它由開發者共同開發完成。從包管理器中借鑒,創建了文件,用來記錄項目使用每個包的確切版本。感謝您的閱讀作者煦涵年月日下面是實驗室的微信公眾號二維碼,歡迎長按掃描關注
Yarn是一個新的Javascript包管理器,它由Facebook, Google, Exponent and Tilde開發者共同開發完成。Yarn 不是 NPM 的fork版本,而是它的重新設計,Yarn 定位為"快速、可靠、安全的依賴管理工具",它的目標是解決團隊開發中使用 NPM 遇到的問題。
隨著 Yarn 的誕生,越來越多的開發者轉向了 Yarn,那么 NPM 在開發中有哪些問題,Yarn 是如何解決的呢?
NPM 一些潛在的問題:
嵌套依賴 (npm 3.0版本已修復)
串行安裝
單一個 package 來源(npmjs.com)
需要網絡來安裝軟件包(盡管我們可以創建一個臨時緩存)
允許程序包在安裝時運行代碼(不利于安全性)
不確定的包狀態(不能確定項目的所有副本使用相同的包版本)
Yarn 解決方案:
單依賴包結構: 可以使用單一版本的依賴包,安裝更快速,占用磁盤空間更少
并行安裝: 并行下載依賴包,減少下載時間
多個包來源: Yarn 讀取和安裝 npmjs.com 和 Bower安裝包,如果有個渠道down掉了,可以從另一個渠道下載包并安裝
自動重試: 單個網絡請求失敗不會導致安裝失敗,請求在失敗后會重試,這解決了由于臨時網絡問題而產生的構建異常
兼容 NPM: 從 NPM 切換到 Yarn 不需要做特殊兼容處理
yarn.lock: 用來管理 javascript 包,這個對于開發團隊來說可能是最有用的功能了。 在package.json中,依賴的包版本可以被指定為一個范圍,也可以不帶版本號。這個可能會導致一種問題,團隊內不同開發人員使用不同版本的軟件包。我們都知道,復現環境的能力與完全相關的依賴關系對于高校的調試和新團隊人員的融入至關重要。從包管理器(Bundler)中借鑒,Yarn 創建了 yarn.lock文件,用來記錄項目使用每個包的確切版本。當將此文件提交至 SVN、GIT 等代碼維護工具,可以保證項目的所有開發人員共享一套依賴包的版本號。更多文章請關注微信公眾號fedlab。
Yarn 的安裝brew install yarn /* Yarn 團隊不推薦 */ npm install -g yarn
不同平臺安裝方式各異,具體參見install
NPM CLI vs Yarn CLI初始化項目
npm init yarn init
從 package.json 安裝依賴
npm install yarn
安裝指定包到依賴或者開發依賴
npm install --save [package] yarn add [package] npm install --save-dev [package] yarn add [package] [--dev/-D]
安裝包到全局
npm install --global [package] yarn global add [package]
安裝指定版本的包
npm install [package]@[version] yarn add [package]@[version]
重新下載所有包
npm reubild yarn install --force
卸載包
npm uninstall [package] npm uninstall --save [package] yarn remove [package] npm uninstall --save-dev [package]
升級包
rm -rf node_modules && npm install yarn upgrade總結
相比 NPM,Yarn解決了不確定依賴、網絡問題、并行下載等問題。然而 NPM 是自己成功的犧牲品,隨著越來越多的開發者轉移使用 Yarn或者其他依賴平臺,NPM 服務器可以更有效的使用。總之兩個包管理器都很優秀,這種相互的關系,驅使著各自彼此往更優秀的方向前進,以惠及更多的開發者。
感謝您的閱讀
--eof--
作者[煦涵]
2017年05月13日
下面是「FED實驗室」的微信公眾號二維碼,歡迎長按、掃描關注:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88294.html
摘要:,是一個前端資源加載打包工具,現在版本已經到,今天的文章不支持介紹的及使用,而是對最近項目開發中使用打包時處理低版本及以下瀏覽器兼容問題做一次總結。 Webpack,Webpack 是一個前端資源加載/打包工具,現在版本已經 release 到 v2.6.1,今天的文章不支持介紹Webpack的API及使用,而是對最近項目開發中使用Webpack打包時處理IE低版本(IE8及以下)瀏覽...
摘要:就是一個類似于的包管理工具,它是由推出并開源。二的安裝用法和基本工作流安裝以為例你可以通過包管理工具安裝。在使用一個包之前,你需要執行以下命令將其加入依賴項列表會被加入到文件中的依賴列表,同時也會被更新。 一、yarn的背景和介紹一直以來,我們在安裝和管理依賴的時候基本上都會使用npm,npm是一個非常優秀全面且廣受歡迎的包管理工具,它奠定了前端模塊化開發的基石,為前端的發展做出了不可...
閱讀 2609·2021-11-18 10:02
閱讀 2278·2021-09-30 09:47
閱讀 1745·2021-09-27 14:01
閱讀 3109·2021-08-16 11:00
閱讀 3163·2019-08-30 11:06
閱讀 2391·2019-08-29 17:29
閱讀 1531·2019-08-29 13:19
閱讀 444·2019-08-26 13:54