简介
欢迎来到 Turborepo 文档!
什么是 Turborepo?
Turborepo 是一个用于 JavaScript 和 TypeScript 代码库的高性能构建系统。它专为扩展 monorepo 而设计,并且也使单包工作空间的工作流程更快。
从个人开发者到世界上最大的企业工程组织,Turborepo 通过轻量级的方法来优化您需要在仓库中运行的任务,从而节省了多年的工程时间和数百万美元的计算成本。
Monorepo 问题
Monorepo 有许多优点 - 但它们难以扩展。每个工作空间都有自己的测试套件、自己的 linting 和自己的构建过程。一个单一的 monorepo 可能有数千个任务要执行。
这些减速会极大地影响您的团队构建软件的方式,尤其是在规模化时。反馈循环需要快速,以便开发人员可以快速交付高质量的代码。
Monorepo 解决方案
Turborepo 解决了您 monorepo 的扩展问题。远程缓存存储您所有任务的结果,这意味着您的 CI 永远不需要重复做相同的工作。
此外,任务调度在 monorepo 中可能很困难。您可能需要先构建,然后测试,然后进行 linting...
Turborepo 调度您的任务以实现最大速度,在所有可用核心上并行处理工作。
Turborepo 可以逐步采用,您可以在几分钟内将其添加到任何仓库。它使用您已经编写的 package.json
脚本、您已经声明的依赖项和一个 turbo.json
文件。您可以将其与任何包管理器(如 npm
、yarn
或 pnpm
)一起使用,因为 Turborepo 依赖于 npm 生态系统的约定。
如何使用这些文档
我们将尽力减少术语的使用 - 但在您阅读文档时,有一些必知词汇非常重要。我们创建了一个术语表页面,以帮助您了解这些术语。
加入社区
如果您对与 Turborepo 相关的任何问题有疑问,随时欢迎在 GitHub Discussions、Vercel Community 和 Twitter 上向社区提问。