Yarn
## yarn 推薦全局安裝
npm install yarn -g
yarn help COMMAND
初始化一個項目
yarn init 相當(dāng)
npm init
yarn add添加一個包 相當(dāng)
npm install [packageName] --save
yarn add [package] --dev 相當(dāng)npm install [package] --save-dev
yarn add webpack
yarn add [package]@[version]
yarn add [package]@[tag]
// yarn 安裝package不推薦全局安裝-
yarn upgrade更新一個包 相當(dāng)
npm update webpack
yarn upgrade webpack yarn upgrade [package]@[version] yarn upgrade [package]@[tag]
-
--offline離線安裝 相當(dāng)
npm install [packageName] --save-dev
yarn add browser-sync --offline browser-sync start --server --files "**"
-
yarn cache檢查本地是否有當(dāng)前包
yarn cache ls
-
yarn remve移除本地依賴包 相當(dāng)
npm uninstall [package]
yarn remove [package]
-
yarn install安裝包依賴 相當(dāng)
npm install
yarn 或者 yarn install
-
yarn publish發(fā)布到github上即項目倉庫里面
yarn publish
Yarn的工作流
- 創(chuàng)建一個新項目工程
yarn init
- 添加/更新/刪除依賴關(guān)系
- 安裝/重新安裝你的依賴
- 使用版本控制工具git
- 持續(xù)集成
添加依賴關(guān)系
yarn add [package] == npm install [package]
將會自動將package@version添加進 package.json文件中的 "dependencies"中
-
自動更新.lock文件
dependencies: 正常的運行過程中的依賴 瀏覽器跑的時候
devDependencies: 開發(fā)模式 所用的依賴
peerDependencies: 當(dāng)你發(fā)布項目的時候 可以指定該依賴
optionalDependencies: 可有可無,表示在安裝失敗的時候一個備選的依賴保證過程
bundleDependencies: 發(fā)布項目的時候所用的依賴 不是從npm來的 一起打包發(fā)布到npm上yarn add --dev to add to devDependencies yarn add --peer to add to peerDependencies yarn add --optional to add to optionalDependencies
-
安裝依賴 (同 npm install)
- yarn
- yarn install
yarn install --flat ##安裝一個且只有一個版本的包
yarn install --force ##強制加載獲取所有的包
yarn install --production ## 只會安裝dependencies, 不會安裝devDependencies
## 這個時候的代碼只提供運行 不提供開發(fā)
-
版本控制器
yarn.lock 保證每個包的版本的具體依賴 保證項目能通過安裝命令執(zhí)行正常
-
Yarn Cache
yarn cache ls # 將打印出每個緩存方案。 yarn cache dir package# 安裝在本地的什么位置 yarn cache clean # 對本地緩存進行強制清除 再執(zhí)行yarn cache ls將找不到緩存 # 改變默認(rèn)的緩存目錄 yarn config set cache-folder <path> yarn <command> --cache-folder <path>
-
Yarn Config
yarn config set <key> <value> [-g|--global] #設(shè)置配置項 yarn config set init-license BSD-2-Clause yarn config set registry https://registry.npm.taobao.org # 修改鏡像獲取位置'https://registry.yarnpkg.com' 默認(rèn)的鏡像位置 yarn config get <key> # 獲取配置項信息 yarn config get init-license yarn config delete <key> # 刪除某一配置項 yarn config delete test-key yarn config list # 顯示當(dāng)前所有的配置
-
Yarn info
顯示包的詳細信息 yarn info <package> [<field>]yarn info react yarn info react --json # 以json的格式顯示 yarn info react@15.3.0 # 查看詳細版本信息 yarn info react description # 只看描述信息 yarn info react time ## 如果指定的字段是又一個嵌套對象,返回子樹 yarn info react readme 讀取readme字段
-
Yarn Global
Yarn不推薦將依賴安裝在全局環(huán)境下面yarn global <add/bin/ls/remove/upgrade> [--prefix] yarn global add weback ## 把包安裝在全局的環(huán)境下面
-
Yarn Bin
displays the location of the yarn bin folder. 顯示yarn的安裝目錄bin文件夾yarn global bin
-
Yarn Why
yarn why jest # 確定為什么包已經(jīng)安裝,詳細描述其他包依賴于它 # 可以是一個文件夾 也可以是一個js文件 yarn why node_modules/once yarn why node_modules/once/once.js
-
yarn clean 清除npm包下面一些module下沒有用的文件
yarn check # 檢查包的完整性 yarn generate-lock-entry # 生成.lock文件
-
Yarn Run
類似于npm runpackage.json { "name": "my-package", "scripts": { "build": "babel src -d lib", "test": "jest" } } yarn run [script] [-- <args>] yarn run test yarn run test -- -o --watch 執(zhí)行jest -o --watch yarn run 沒有參數(shù)的的話 會列出所有的scripts里的執(zhí)行腳本
-
Yarn Ls
yarn ls ## 給出根目錄下面已經(jīng)安裝的依賴 yarn global ls yarn list [--depth] yarn list --depth=0 ## 限制輸出的深度
-
Yarn Link & Yarn Unlink
yarn link [package...] ## 將網(wǎng)絡(luò)上的包連接到本地進行引用 調(diào)試 yarn unlink [packae...] 解除引用
Yarn Login & Yarn Logout
登錄npm的公共倉庫, 發(fā)布一個包的時候 需要一個npm的賬號
登錄之后 用yarn publish-
Yarn Tag
yarn add your-package-name@stable yarn add your-package-name@canary
- latest 當(dāng)前版本的包
- stable包的最新穩(wěn)定版本,通常長期支持(LTS)
- beta 最新發(fā)布前和/或穩(wěn)定,用于共享即將改變之前完成
- canary 如果你的項目是頻繁更新,許多人依靠你可能更早使用這個共享代碼喇潘。
- dev 有時你希望能夠測試出一個通過注冊表修改當(dāng)你還在研究的東西,這是非常有用的
-
Version和Package
-
添加一個名為<tag>標(biāo)記為一個特定的<version>
yarn add your-package-name@<version>
-
列出所有的標(biāo)簽<包>钞艇。如果未指定的<包>將默認(rèn)包你當(dāng)前的目錄內(nèi)
yarn add your-package-name@<tag> yarn tag add <package>@<version> <tag> <package>。 yarn tag rm <package> <tag> yarn tag ls [<package>]
-