介绍
什么是 Turborepo?
Turborepo 是一个为 JavaScript 和 TypeScript 代码库设计的高性能构建系统。它专为扩展 monorepo 而设计,同时也能让单包工作空间中的工作流程变得更快。
从个人开发者到世界上最大的企业工程组织,Turborepo 通过轻量级的方法优化您需要在仓库中运行的任务,为大家节省了数年的工程时间和数百万美元的计算成本。
Monorepo 的问题
Monorepo 有很多优势 - 但它们在扩展时会遇到困难。每个工作空间都有自己的测试套件、自己的代码检查和自己的构建过程。一个单独的 monorepo 可能需要执行数千个任务。

这些缓慢的过程会极大地影响您的团队构建软件的方式,特别是在大规模开发时。反馈循环需要快速,这样开发者才能快速交付高质量的代码。
Monorepo 的解决方案

Turborepo 解决了您 monorepo 的扩展问题。远程缓存存储了您所有任务的结果,这意味着您的 CI 永远不需要重复做同样的工作。
此外,在 monorepo 中任务调度可能会很困难。您可能需要先构建,_然后_测试,_然后_代码检查...
Turborepo 以最大速度调度您的任务,在所有可用核心上并行化工作。
Turborepo 可以逐步采用,您可以在几分钟内将其添加到任何仓库。它使用您已经编写的 package.json 脚本、您已经声明的依赖项和一个单独的 turbo.json 文件。您可以与任何包管理器一起使用,如 npm、yarn 或 pnpm,因为 Turborepo 依赖于 npm 生态系统的约定。
如何使用这些文档
我们会尽力减少专业术语的使用 - 但有一些必须了解的词汇对于理解文档很重要。我们创建了术语表页面来帮助您学习这些术语。
加入社区
如果您对 Turborepo 相关的任何问题有疑问,欢迎随时在 GitHub Discussions、Vercel Community 和 Twitter 上向社区提问。