場景交代
前端開發(fā)同學一定知道并用過npm,可能也聽過并用過Yarn。
最近在學習前端知識,所以這里做一下學習筆記。
Yarn介紹
Yarn 是一個包管理器, 它允許你使用并分享代碼給全世界的開發(fā)者, Yarn 做這些快捷、安全、可靠,所以你不用擔心什么。
Yarn 允許你使用其他開發(fā)者的解決方案處理不同的問題,讓你開發(fā)軟件更容易。 如果你有疑問,你可以報告問題或者貢獻回饋,當問題被修復時,你可以用 Yarn 讓它們保持最新。
代碼通過叫做 包(有時稱為 模塊) 的東西來共享。 包里包含所有要共享的代碼,package.json 文件描述這個包。
ps:個人覺得其實就是FB公司訂制版的npm,考慮到原版的npm設計有缺陷,F(xiàn)B對其進行了相關(guān)優(yōu)化。具體哪里優(yōu)化,我也不是很清楚。
安裝
兩種安裝方式
1.官網(wǎng)推薦brew install yarn
2.npm全局安裝npm install -g yarn
使用 我會將yarn指令和npm指令進行對比
1.開始新項目
yarn init這里可以對照理解 npm init
2.添加依賴包
yarn add [package] npm install [package]
yarn add [package]@[version]
yarn add [package]@[tag]
3.升級依賴包
yarn upgrade [package] npm update [-g] [<pkg>...]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
4.移除依賴包
yarn remove [package] npm uninstall <package>
5.安裝項目的全部依賴
yarn 或者 yarn install npm install
引入一個包管理器到你的項目也引入了一個新的圍繞依賴的工作流。Yarn 嘗試最好的保留你自己的方法并且讓這個工作流的每一步理解簡單。
創(chuàng)建一個新項目
yarn init其實就是創(chuàng)建package.json增加/更新/刪除依賴
當你想添加、升級或移除依賴,你要了解幾個不同的命令。
每個命令都會更新你的 package.json
和 yarn.lock
文件。
- 增加
yarn add [package]
你也可以用這些標記添加其它[依賴類型](https://yarnpkg.com/zh-Hans/docs/dependency-types):
yarn add --dev 添加到 devDependencies
yarn add --peer 添加到 peerDependencies
yarn add --optional 添加到 optionalDependencies
你可以通過指定一個依賴版本或一個標簽來指定你想安裝包的哪個版本。
yarn add [package]@[version]
yarn add [package]@[tag]
- 升級依賴包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
- 移除依賴包
yarn remove [package]
- 安裝/重裝你的依賴
- 安裝依賴項
yarn install 這條命令在執(zhí)行后,yarn會從你的package.json讀取依賴,然后安裝,并存儲到y(tǒng)arn.lock文件。
- 安裝選項
安裝依賴有許多選項,包括:
安裝所有依賴:yarn 或 yarn install
安裝一個包的單一版本:yarn install --flat
強制重新下載所有包:yarn install --force
只安裝生產(chǎn)環(huán)境依賴:yarn install --production
-
和版本控制一起工作(例如 git)
為了讓人成功開發(fā)或使用你的包,你需要確保所有必要的文件提交進你的版本控制系統(tǒng)。
為了別人能管理你的包,下面的文件必須提交進版本控制系統(tǒng):- package.json:它有你的包當前所有依賴。
- yarn.lock:這個存儲你的包每個依賴的確切版本。
- 為你的包提供功能的實際源代碼。
持續(xù)集成
Yarn 很容易在許多持續(xù)構(gòu)建系統(tǒng)中使用。為了加速構(gòu)建,Yarn 緩存目錄可以跨構(gòu)建保存起來。
PS:這塊我不是很懂
CLI介紹
Yarn指令的詳細說明文檔,推薦高段位選手閱讀,小白看我前面的總結(jié)就行了。
最后再祭出一份視頻教程:
Yarn構(gòu)建工具入門基礎(chǔ)