Turborepo 高性能 monorepo方案,前端的构建未来还得开go

3,685 阅读1分钟

之前的一篇文章我选择了go做前端的cli工具链,现在出现了新的项目构建神器Turborepo用于Monorepo 方案.

1.1 什么是monorepo ?

Monorepo是一种项目管理方式,在Monorepo之前,代码仓库管理方式是 MultiRepo,即每个项目都对应着一个单独的代码仓库每个项目进行分散管理 这就会导致许多弊端,例如可能每个项目的基建以及工具库都是差不多的,基础代码的重复复用问题等等...

TurboRepo 是构建Javascript,Typescript的monorepo高性能构建系统,Turborepo抽象出所有烦人的配置、脚本和工具,减少项目配置的复杂性,可以让我们专注于业务的开发

Turbo支持多个任务的并行运行,我们在对多个子包,编译打包的过程中,turbo会同时进行多个任务的处理

与以往的方案不一样的时候,turbo不是使用并发的方式进行构建,是用了并行的方式.

如果我们的项目过大,构建多个子包会造成时间和性能的浪费,turborepo中的缓存机制 可以帮助我们记住构建内容 并且跳过已经计算过的内容,优化打包效率。

Turbo通过其远程缓存功能可以帮助多人远程构建云缓存实现了更快的构建。

用配置文件定义任务之间的关系,然后让Turborepo优化构建内容和时间。

通过约定降低复杂性,只需几行JSON 即可配置整个项目依赖,执行脚本的顺序结构。

等等的新特性

image.png

试了一下,构建的速度.四舍五入等于不用实践

Turborepo

image.png