Yarn 入門

Yarn 是快速、可靠、安全的 js 包管理器。前端

關鍵詞: nodejs, 包管理, yarnnode

簡介

Yarn 是快速、可靠、安全的 js 包管理器。git

  • 快速 - Yarn 會緩存它下載的每一個包,因此無需重複下載。它還能並行化操做以最大化資源利用率,安裝速度之快史無前例。
  • 安全 - Yarn 會在每一個安裝包被執行前校驗其完整性。
  • 可靠 - Yarn 使用格式詳盡而又簡潔的 lockfile 文件和肯定性算法來安裝依賴,可以保證在一個系統上的運行的安裝過程也會以一樣的方式運行在其餘系統上。

安裝

先決條件:已安裝 Nodejs。github

執行命令:npm i -g yarn算法

雖然還有其餘安裝方式,但並不推薦。npm

Yarn 工做流

Yarn 工做流:json

  1. 建立一個新項目
  2. 增長/更新/刪除依賴
  3. 安裝/重裝你的依賴
  4. 引入版本控制系統(例如 git)
  5. 持續集成

Yarn 經常使用命令

每一個命令都會更新 package.jsonyarn.lock 文件。緩存

初始化新項目

yarn init

添加依賴包

在使用一個包以前,你須要執行如下命令將其加入依賴項列表:安全

yarn add [package]

[package]會被加入到package.json文件中的依賴列表,同時yarn.lock也會被更新。frontend

{
    "name": "my-package",
    "dependencies": {
+     "package-1": "^1.0.0"
    }
  }

你能夠用如下參數添加其它類型的依賴:

  • yarn add --dev 添加到 devDependencies
  • yarn add --peer 添加到 peerDependencies
  • yarn add --optional 添加到 optionalDependencies

經過指定依賴版本標籤,你能夠安裝一個特定版本的包:

yarn add [package]@[version]
yarn add [package]@[tag]

[version][tag] 會被添加到 package.json,並在安裝依賴時被解析。

例如:

yarn add package-1@1.2.3
yarn add package-2@^1.0.0
yarn add package-3@beta
{
  "dependencies": {
    "package-1": "1.2.3",
    "package-2": "^1.0.0",
    "package-3": "beta"
  }
}

將依賴項添加到不一樣依賴項類別

分別添加到 devDependenciespeerDependenciesoptionalDependencies

yarn add [package] --dev
yarn add [package] --peer
yarn add [package] --optional

更新依賴包

yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]

這會更新package.jsonyarn.lock 文件。

{
    "name": "my-package",
    "dependencies": {
-     "package-1": "^1.0.0"
+     "package-1": "^2.0.0"
    }
  }

刪除依賴包

yarn remove [package]

這會更新package.jsonyarn.lock 文件。

安裝依賴項

yarn install 是用於安裝一個項目的全部依賴。 Yarn 會從 package.json 中讀取依賴,並將依賴信息存儲到 yarn.lock 中。

若是你正在開發一個包,一般你會在如下狀況以後進行依賴安裝:

  • 你剛檢出須要這些依賴項的項目代碼。
  • 項目的另外一個開發者添加了新的依賴,你須要用到。

有不少參數能夠控制依賴安裝的過程,包括:

  • 安裝全部依賴 - yarn 或 yarn install
  • 安裝一個包的單一版本 - yarn install --flat
  • 強制從新下載全部包 - yarn install --force
  • 只安裝生產環境依賴 - yarn install --production

參考:yarn install完整參數列表

建立一個新項目

不管是已經有了現成的代碼倉庫(目錄),仍是正着手啓動一個全新項目,你均可以使用一樣的方法引入 Yarn。

在命令行終端裏,跳轉到準備引入 Yarn 的目錄(一般是一個項目的根目錄),執行如下命令:

yarn init

這將打開一個用於建立 Yarn 項目的交互式表單,其中包含如下問題:

name (your-project):
version (1.0.0):
description:
entry point (index.js):
git repository:
author:
license (MIT):

你既能夠回答這些問題,也能夠直接敲回車鍵(enter/return)使用默認配置或者留空。

配置文件

爲了別人能使用你的包,如下文件必須被提交進版本控制系統:

  • package.json - 包含包的全部依賴信息;
  • yarn.lock - 記錄每個依賴項的確切版本信息;
  • 包實現功能的實際項目代碼。

請參閱Yarn Example Package項目,查看一個可用的 Yarn 包所需的最少文件配置。

如今應該建立了一個和下面文件內容相似的 package.json

{
  "name": "my-new-project",
  "version": "1.0.0",
  "description": "My New Project description.",
  "main": "index.js",
  "repository": {
    "url": "https://example.com/your-username/my-new-project",
    "type": "git"
  },
  "author": "Your Name <you@example.com>",
  "license": "MIT"
}

執行yarn init以後,除了以上文件被建立以外,沒有任何反作用。你能夠隨意編輯此文件。

package.json文件裏存儲了項目的有關信息。 包括項目名稱、維護者信息、代碼託管地址,以及最重要的:項目依賴。

引用和引伸

👉 歡迎閱讀 個人前端技術教程系列:frontend-tutorial

相關文章
相關標籤/搜索