1. 统一依赖安装
- 在根目录执行
pnpm install,自动安装所有子包依赖。 - 无需逐个
cd到子包目录,节省时间。 - 保证依赖版本一致,生成统一的
pnpm-lock.yaml。
2. 本地包软连接(本地联调)
- workspace 内部包之间自动用 symlink 链接。
- 修改本地包后,依赖它的包立即生效,无需
npm link或发布到远程。 - 方便开发和调试跨包功能。
3. 统一锁文件
- 所有子包共享根目录的
pnpm-lock.yaml。 - 保证依赖版本一致,减少“在我机器上能跑,但 CI 失败”的问题。
4. 批量脚本执行
- 支持
pnpm -r run <script>或pnpm run --recursive <script>。 - 可在所有子包中递归执行 build、test、lint 等脚本,提高开发效率。
5. 节省磁盘空间
- pnpm 使用 content-addressable store + 硬链接。
- 多个子包共享同一个依赖,仅存储一份,提高磁盘利用率。
6. 灵活依赖管理
- 可只给某些子包安装或升级依赖(使用
--filter)。 - 支持在 workspace 根添加全局依赖(
pnpm add -w <pkg>)。
💡 一句话总结:
“一次安装,全局同步;本地联调,省时省空间;脚本批量执行,依赖统一管理。”