yarn官網(wǎng)直接有中文文檔搀愧,上手還是非常方便的绘证。
官網(wǎng)地址:https://yarnpkg.com/zh-Hans/
yarn的誕生背景
node.js實現(xiàn)了模塊化加載組件,讓組件化開發(fā)得以推廣矾芙,相應(yīng)的也帶動了第三方包的大量運用隧出。官方為了開發(fā)者更好的管理包文件,推出了npm包管理工具。
這種開發(fā)方式實在誘人宿饱,于是這種方式從后端蔓延到前端熏瞄,npm包也橫跨前后端,包和包之間也相互依賴谬以,管理起來越發(fā)繁雜和沉重巴刻。
在這種環(huán)境下,yarn橫空出世蛉签。
安裝
下載文件直接點擊安裝即可胡陪。
https://yarnpkg.com/zh-Hans/docs/getting-started
安裝完畢運行以下代碼查看版本
yarn --version
返回版本號即表示安裝成功。
yarn常用命令
yarn init // 初始化包碍舍;
yarn install // 安裝`package.json` 文件里定義的所有依賴包柠座;
yarn add 要裝的包文件名 // 安裝一個依賴包;
yarn global add 要裝的包文件名 // 全局安裝
yarn serve // 本地跑測試
yarn build // 編譯發(fā)布文件
yarn remove // 從當前包里移除一個未使用的包片橡。
yarn publish // 發(fā)布一個包到包管理器妈经;
- 初始化新項目
yarn init
- 添加依賴包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
// 舉例子
yarn add less
yarn add less@2.1.1
yarn add less@firstjob
- 將依賴項添加到不同依賴項類別
分別添加到 devDependencies、peerDependencies 和 optionalDependencies:
yarn add [package] --dev
yarn add [package] --peer
yarn add [package] --optional
- 升級依賴包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
- 移除依賴包
yarn remove [package]
- 安裝項目的全部依賴
yarn
或者
yarn install
devDependencies捧书、peerDependencies 和 optionalDependencies 的區(qū)別
- dependencies 依賴包
- peer-dependencies 同等的依賴包
- develop-dependencies 開發(fā)依賴包
- optional-dependencies 可選擇的依賴包
dependencies
這是所謂的常規(guī)依賴吹泡,確切地說,是代碼運行時所需要的(比如 React 和 immutableJS)经瓷。
yarn add package
devdependencies
這是開發(fā)依賴爆哑,就是那些只在開發(fā)過程中需要,而運行時不需要的依賴(比如 Babel 和 Flow)舆吮。
yarn add [package] --dev
peerDependencies
這是“同伴依賴”揭朝,一種特殊的依賴,在發(fā)布包的時候需要色冀。
有這種依賴意味著安裝包的用戶也需要和包同樣的依賴潭袱。 這對于像 react 這樣也被人安裝的、需要單一 react-dom 副本的包很有用锋恬。
yarn add [package] --peer
optionalDependencies
這是可選依賴屯换,意味著依賴是……可選的。這種依賴即便安裝失敗与学,Yarn也會認為整個依賴安裝過程是成功的彤悔。
這種類型適用于那些即便沒有成功安裝可選依賴,也有后備方案的情況(比如 Watchman)癣防。
yarn add [package] --optional
bundledDependencies
這是“打包依賴”蜗巧,在發(fā)布包時掌眠,這個數(shù)組里的包都會被打包(Bundle)蕾盯。
這種類型的依賴應(yīng)該在項目內(nèi)部使用,基本上和普通依賴相同。執(zhí)行 yarn pack 同樣會進行打包级遭。
普通依賴通常從 npm registry 安裝望拖,這些情況下,打包依賴比普通依賴更好用:
- 當你想使用一個不在 npm registry 里的挫鸽,或者被修改過的第三方庫時说敏;
- 當你想把自己的項目作為模塊來重用時;
- 當你想和你的模塊一起發(fā)布一些文件時丢郊。
yarn自身版本升級
軟件總是新的好盔沫,yarn每過一段時間就會發(fā)布新版本,我們也要時長對它進行更新枫匾。流程如下:
// 查看當前yarn的最新版本
npm view yarn version
//升級它
npm install yarn@1.xx.x -g