添加到现有仓库
Turborepo 可以**在任何仓库(单包或多包)**中逐步采用,以加速仓库的开发人员和 CI 工作流程。
在安装 turbo
并在 turbo.json
中配置您的任务后,您会注意到缓存如何帮助您更快地运行任务。
准备单包工作区
例如,单包工作区是您在运行 npx create-next-app
或 npm create vite
后获得的结果。您无需为 Turborepo 处理您的仓库做任何额外的工作,因此您可以直接跳到下面的第一步。
要了解有关在单包工作区中使用 Turborepo 的更多信息,请访问专门的指南。
准备多包工作区(Monorepo)
turbo
构建在 Workspaces 之上,Workspaces 是 JavaScript 生态系统中主要包管理器的功能。这使得它很容易在您现有的代码库中采用。
须知
如果您发现 turbo
存在诸如无法发现工作区中的包或不遵循您的依赖关系图等问题,请访问我们的构建仓库页面以获取提示。
请注意,您不必立即使用 turbo
为 *所有* 包运行 *所有* 任务。您可以从少数几个包中的单个任务开始,并在您更熟悉 Turborepo 时逐步添加更多任务和包。
将 Turborepo 添加到您的仓库
添加 turbo.json
文件
在您的仓库的根目录中,创建一个 turbo.json
文件。
在本指南中,我们将使用 build
和 check-types
任务,但您可以将它们替换为您感兴趣的其他任务,如 lint
或 test
。
有关配置 turbo.json
的更多信息,请参阅配置选项文档。
在您的 Next.js 应用程序中,确保您有一个 check-types
脚本供 turbo
运行。
在多包工作区中,您可能还希望在一个或多个库包中添加 check-types
脚本,以查看如何在不同的包中运行多个脚本以及一个 turbo
命令。
编辑 .gitignore
将 .turbo
添加到您的 .gitignore
文件中。 turbo
CLI 使用这些文件夹来持久化日志、输出和其他功能。
将 packageManager
字段添加到根 package.json
Turborepo 使用来自您的包管理器的信息来优化您的仓库。要声明您正在使用的包管理器,如果您还没有,请将packageManager
字段添加到您的根 package.json
。
须知
根据您的仓库,您可能需要在迁移期间或在您还不能使用 packageManager
键的情况下使用dangerouslyDisablePackageManagerCheck。
使用 turbo
运行任务
您现在可以使用 Turborepo 运行您之前添加到 turbo.json
中的任务。 使用上面的示例任务
这将同时运行 build
和 check-types
任务。您的工作区的依赖关系图将用于按正确的顺序运行任务。
在不更改任何代码的情况下,尝试再次运行 build
和 check-types
您应该看到类似这样的终端输出
恭喜!**您刚刚在几毫秒内构建并类型检查了您的代码**。
要了解更多关于 turbo
如何实现这一点的知识,请查看缓存文档。
开始使用 turbo
运行 dev
进行开发
在多包工作区中,您可以运行 turbo dev
一次性启动所有包的开发任务。
您还可以使用过滤器来专注于特定的包及其依赖项。
请注意,此步骤在单包工作区中没有太多价值,因为
- 您不会缓存开发任务的输出。
- 只有一个开发脚本,所以没有并行运行的内容。
下一步
您现在已经开始运行 Turborepo 了!要了解更多关于您可以改进工作流程并充分利用 turbo
的方法,我们建议您查看以下页面
这有帮助吗?