文章目录

  • Yarn 使用入门
  • 1、安装
  • 1.1 下载安装程序
  • 1.2 通过 Chocolatey 安装
  • 1.3通过 Scoop 安装
  • 2、Yarn 使用方法
  • 2.1 初始化一个新项目
  • 2.2 添加依赖包
  • 2.3 将依赖项添加到不同依赖项类别中
  • 2.4 升级依赖包
  • 2.5 移除依赖包
  • 2.6 安装项目的全部依赖


Yarn 使用入门

Yarn 对你的代码来说是一个包管理器。它可以让你使用并分享全世界开发者的(例如 JavaScript)代码。 Yarn 能够快速、安全、并可靠地完成这些工作。

代码通过包(package) (或者称为 模块(module)) 的方式来共享。 一个包里包含所有需要共享的代码,以及描述包信息的文件,称为 package.json。

1、安装

1.1 下载安装程序

你将下载到一个 .msi 文件,当它运行时会指引你将 Yarn 安装到 Windows 上。如果你使用此安装程序,需要先安装 Node.js。

1.2 通过 Chocolatey 安装

Chocolatey 是一个 Windows 专用的软件包管理工具。 安装 Chocolatey 之后,你就可以在控制台执行如下命令安装 Yarn 了:

choco install yarn

这也会确保你安装了 Node.js 。

1.3通过 Scoop 安装

Scoop 是一个用于 Windows 的基于命令行的安装工具。 请按照此 说明 安装 Scoop 。Scoop 安装后,你就可以在控制台执行如下命令安装 Yarn 了:

scoop install yarn

注意:请将您的项目目录和 Yarn 的缓存目录 (%LocalAppData%\Yarn) 列入杀毒软件的白名单中,否则会因为每次向磁盘写入文件时而被扫描,导致安装软件包变得很慢。

通过如下命令测试 Yarn 是否安装成功:

yarn --version

2、Yarn 使用方法

2.1 初始化一个新项目

yarn init

2.2 添加依赖包

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

2.3 将依赖项添加到不同依赖项类别中

分别添加到 devDependencies、peerDependencies 和 optionalDependencies 类别中:

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

devDependencies、peerDependencies 和 optionalDependencies区别

在一个Node.js项目中,package.json几乎是一个必须的文件,它的主要作用就是管理项目中所使用到的外部依赖包,同时它也是npm命令的入口文件。

npm 目前支持以下几类依赖包管理:

dependencies
devDependencies
peerDependencies
optionalDependencies
bundledDependencies / bundleDependencies

dependencies

应用依赖,或者叫做业务依赖,这是我们最常用的依赖包管理对象!它用于指定应用依赖的外部包,这些依赖是应用发布后正常执行时所需要的,但不包含测试时或者本地打包时所使用的包。

devDependencies

开发环境依赖,仅次于dependencies的使用频率!它的对象定义和dependencies一样,只不过它里面的包只用于开发环境,不用于生产环境,这些包通常是单元测试或者打包工具等,例如gulp, grunt, webpack, moca, coffee等。

peerDependencies

同等依赖,或者叫同伴依赖,用于指定当前包(也就是你写的包)兼容的宿主版本。如何理解呢? 试想一下,我们编写一个gulp的插件,而gulp却有多个主版本,我们只想兼容最新的版本,此时就可以用同等依赖(peerDependencies)来指定。

{
  "name": "gulp-my-plugin",
  "version": "0.0.1",
  "peerDependencies": {
    "gulp": "3.x"
  }
}

optionalDependencies

可选依赖,如果有一些依赖包即使安装失败,项目仍然能够运行或者希望npm继续运行,就可以使用optionalDependencies。另外optionalDependencies会覆盖dependencies中的同名依赖包,所以不要在两个地方都写。

bundledDependencies / bundleDependencies

打包依赖,bundledDependencies是一个包含依赖包名的数组对象,在发布时会将这个对象中的包打包到最终的发布包里。

2.4 升级依赖包

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

2.5 移除依赖包

yarn remove [package]

2.6 安装项目的全部依赖

yarn

或者

yarn install