Monorepo 架构
井云前端采用 Monorepo 架构,使用 pnpm workspace 进行包管理,实现代码共享和统一管理。
架构优势
1. 代码共享
- 公共组件和工具统一管理
- 避免重复开发
- 保持一致性
2. 依赖管理
- 统一的依赖版本
- 减少依赖冲突
- 优化安装效率
3. 开发效率
- 跨应用开发
- 统一的构建流程
- 共享开发配置
目录结构
frontend/
├── pnpm-workspace.yaml # workspace 配置
├── package.json # 根包配置
├── hosts/ # 应用程序
├── packages/ # 核心包
└── shared/ # 共享包
Workspace 配置
packages:
- 'shared/*' # 共享包
- 'packages/*' # 核心包
- 'hosts/*' # 应用程序
包管理策略
依赖提升
- 公共依赖提升到根目录
- 减少重复安装
- 优化 node_modules 大小
版本管理
- 统一版本策略
- 自动化版本更新
- 版本兼容性检查
开发流程
安装依赖
pnpm install
开发应用
cd hosts/platform
pnpm dev
构建应用
cd hosts/platform
pnpm build
构建所有包
pnpm build:packages
发布策略
统一发布
- 自动化发布流程
- 版本标签管理
- 发布日志生成
独立发布
- 应用独立发布
- 包独立发布
- 灵活的发布策略