最佳实践:
- 始终将
yarn.lock文件提交到版本控制系统(Git) - 不要手动修改
yarn.lock文件,应通过命令来更新依赖
1.2 依赖解析和安装机制
Yarn 在安装依赖时的执行流程:
- 解析依赖: 读取
package.json中的依赖声明 - 检查缓存: 查看依赖包是否已存在于本地缓存中
- 获取包信息: 如果缓存未命中,从配置的 registry 获取包信息
- 计算依赖树: 根据依赖关系计算出一棵扁平的依赖树(尽可能避免重复)
- 安装依赖: 将依赖从缓存复制到项目的
node_modules中
2. 高级命令详解
2.1 yarn workspaces - 工作空间
解释: 工作空间是 Yarn 用来管理 monorepo(单仓库多项目)的强大功能。它允许你在一个代码仓库中管理多个包(packages)。
使用场景:
当你需要维护多个相互关联的项目时,例如:
- 一个包含 UI 组件库、工具函数库和主应用的项目
- 一个前后端分离但共享某些代码的项目
- 一个包含多个微服务的项目
具体使用:
步骤 1:在根目录的 package.json 中启用工作空间
{
"private": true,
"workspaces": [
"packages/*"
]
}
