yarn快速使用及实践建议
什么是 yarn?
简单来说,yarn 是一个与 npm 功能相同的工具,用于前端项目的依赖管理。在使用 npm 的项目中,使用 npm 命令的地方都可以使用 yran 来代替。
为什么要使用 yarn 替代 npm 呢?yarn 相对 npm 来说,主要的特点有:
离线、并行安装:依赖并行安装,缓存已下载过的依赖并优先使用,各种优化使得安装依赖速度显著提升
确定性:默认生成 yarn.lock 文件,可以保证各开发人员开发安装依赖的目录具有一致性
yarn 使用快速上手
安装
npm i -g yarn
//或
cnpm i -g yarn
项目中使用
首次初始化项目时执行,在每次项目启动/构建之前,也都应执行一次,以保证本地依赖得到及时更新。
该命令会检查 package.json 和 yarn.lock 文件中的依赖,当有其内容更新,会进行依赖更新安装。
yarn install
依赖更新。当你希望更新依赖模块到其最新版本时执行该命令。
yarn upgrade
yarn 常用命令
初始项目
yarn init
添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
将依赖项添加到不同依赖项类别
分别添加到 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
实践建议
在 yarn 之前,我们使用的是 npm+淘宝仓库方案,也会使用 cnpm。在国内,cnpm 的依赖安装速度比 yarn 还要快,但 cnpm 在 windows 下通过创建链接引用的方式管理包依赖,可能会带来一些问题。
现在我们会默认使用淘宝仓库,使用 npm 管理全局依赖,使用 yarn 管理具体项目内的依赖。
在一个新的项目中使用 yarn,我们会这么来做:
- 写好 package.json,写入初始的第三方依赖
- 执行 yarn 命令,初始化安装项目依赖,生成 yarn.lock 文件
- 后续通过执行 yarn add xxx 添加更多需要的依赖(也可直接在 package.json 文件中写入)
- 当确定需要更新依赖模块到其最新版本时,执行 yarn upgrade 命令
- 配置项目启动命令执行前,先执行 yarn 命令,以保证当 yarn.lock 被更新时,本地依赖也及时得到更新。例如,在 package.json 的 script 部分中配置 start 命令: "start": "yarn && yarn run build:dev"