Monorepo là gì
Kho lưu trữ duy nhất cho tất cả dự án
Monorepo là chiến lược quản lý mã nguồn nơi nhiều dự án được lưu trữ trong một kho lưu trữ duy nhất.
Lợi ích
- Codebase thống nhất
- Thay đổi nguyên tử giữa các dự án
- Tái sử dụng mã
- Quản lý phụ thuộc đơn giản hóa
- Tiêu chuẩn và linter thống nhất
Công cụ
- Nx — cho Angular, React, Node.js
- Turborepo — bởi Vercel
- Lerna — cho npm packages
- Bazel — bởi Google
- Rush — bởi Microsoft
Công ty Ví dụ
- Google (tất cả mã trong một repo)
- Meta (Facebook, Instagram)
- Microsoft (Windows)
- Uber
Khi nào Sử dụng
- Microservices của một đội
- Frontend + backend + thư viện dùng chung
- Nhiều sản phẩm liên quan