# 2023-02 vite
# 一、vite 简介
# 二、monorepo 简介
Understanding Monorepos (opens new window)
# Multirepo 策略
传统Multirepo策略就是一个项目一个仓库,当我们要开新的项目,很多时候从旧项目copy一些工具函数或者全局逻辑、配置等。
- 不同项目组使用模板项目新建之后,扩展、修复、调整,不同步。
- 自己项目组多个项目,扩展、修复、调整,得修改多个项目,维护成本越来越高。
- 使用封装的SDK,当修改调整一些代码的时候,得通知到所有使用这个SDK的项目进行升级,所有项目得发版上线。
- 不同项目组解决相同的问题却各自编写自己的代码。
优势:
- 独立部署
- 独立的版本控制
- 更快的开发
- 独立的权限,更安全
# Monorepo策略
monorepo
顾名思义单库多包/项目。多个项目放到一个仓库里面,可以说完美解决了Multirepo的痛点:
- 重用和共享代码非常容易
- 可以访问所有项目
- 公共模块和项目之间的依赖很明确
- 重构会影响的非常清晰
缺点:
- 项目越来越多,体积越来越大,版本控制也会变得困难,Git可能无法支撑过大的项目。
- 权限太过开放,安全性肯定就降低,造成严重后果机率随之提高。如何做到更细的权限管理是一个难点。
- 发布面临更多问题,CI(持续集成)/CD(持续部署)非常困难
# 三、lerna 简介
The Original Tool for JavaScript Monorepos (opens new window)