Skip to content

Monorepo

Monorepo 是一种项目代码管理方式,指单个仓库中管理多个项目,有助于简化代码共享、版本控制、构建和部署等方面的复杂性,并提供更好的可重用性和协作性

过往传统架构的问题?

  • 多个项目独立,分属不同的仓库
  • 技术栈独立
  • 规范化,自动化配置等割裂
  • 依赖管理,版本很难统一管理,项目之间的依赖,不好管理
  • 部署也不好统一管理

pnpm/npm/yarn

npm和yarn可能存在的问题

  • 幽灵依赖:存在依赖提升,某个项目使用的依赖,并没有在其 package.json 中声明,也可以直接使用
  • 依赖冗余

turborepo

Vercel 团队开源的高性能构建代码仓库系统,允许开发者使用不同的构建系统

turborepo: 简单,非侵入式,npm下载量早就超过了lerna(缺少维护,使用复杂)、nx

  • 构建任务并行进行,构建顺序交给开发者配置
  • 通过缓存,减少构建时间
  • 支持任务编排

https://ksh7.com/posts/pnpm-use-workspace/index.html#pnpm-workspace-yaml

苏ICP备2025160170号-1 | 前端进化之路 | Released under the MIT License.