找回密码
 立即注册
首页 业界区 业界 vue3 + pnpm 打造一个 monorepo 项目

vue3 + pnpm 打造一个 monorepo 项目

吕颐然 2025-6-6 14:05:44
Monorepo 和 Multirepo

单一仓库(Monorepo)架构,可以理解为:利用单一仓库来管理多个packages的一种策略或手段;与其相对的是多仓库(Multirepo)架构
Monorepo 目录中除了会有公共的package.json依赖以外,在每个sub-package子包下面,也会有其特有的package.json依赖。
兄弟模块之间可以通过模块 package.json 定义的 name 相互引用,保证模块之间的独立性
  1. # monorepo目录结构
  2. monorepo-demo
  3. ├── packages
  4. │   ├─ module-a
  5. │   │  ├─ src             # 模块 a 的源码
  6. │   │  ├─ node_modules    # 模块 a 的 node_modules
  7. │   │  └─ package.json    # 仅模块 a 的依赖
  8. │   └─ module-b
  9. │      ├─ src             # 模块 b 的源码
  10. │      └─ package.json    # 仅模块 b 的依赖
  11. ├── .eslintrc             # 配置文件,对整个项目生效
  12. ├── node_modules          # 所有子包公共的 node_modules
  13. └── package.json          # 所有子包公共的依赖
复制代码
Multirepo 更倾向与在项目制中,将一个个项目使用不同的仓库进行隔离,每一个项目下使用独有的package.json来管理依赖
  1. # multirepo-a目录结构
  2. multirepo-a
  3. ├── src
  4. ├── .eslintrc               
  5. ├── node_modules            
  6. └── package.json   
  7. # multirepo-b目录结构
  8. multirepo-b
  9. ├── src
  10. ├── .eslintrc               
  11. ├── node_modules            
  12. └── package.json  
复制代码
Monorepo 工具

在采用 Monorepo(单一仓库)架构的软件开发中,工具的选择是至关重要的。合适的 Monorepo 工具能够帮助团队更高效地管理大规模代码库、提升协同开发体验以及优化构建和部署流程。
直至 2024 年,目前在前端界比较流行的 Monorepo 工具有 Pnpm Workspaces、Yarn Workspaces、npm Workspaces、Rush、
Turborepo、Lerna、Yalc、和 Nx

强烈推荐使用Pnpm Workspaces 作为 Monorepo 项目的依赖管理工具
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册