Core Concepts

包类型

了解 Turborepo 中的两种包类型:应用程序包和库包,以及它们在 monorepo 中的作用。

在 Turborepo 中,我们讨论两种类型的包:

应用程序包

应用程序包是工作区中将从您的工作区部署的包。应用程序包的示例包括 Next.js、Svelte、Vite 或通常位于 ./apps 目录中的 CLI 应用程序。

最佳实践是您的应用程序包是包图的"终点",不会被安装到仓库的其他包中。您的 CI/CD 管道通常会在包和任务图的这些节点处完成。

将应用程序包安装到另一个包中

在极少数情况下,您可能需要将应用程序包安装到另一个包中。这应该是例外情况。如果您发现经常这样做,您可能需要重新考虑您的包结构。

此规则的一个例外示例是将您的应用程序包安装到处理端到端测试的包中。安装后,您可以在端到端测试包中依赖应用程序包,以便它能够感知应用程序的重新部署。

库包

库包包含您打算在工作区中共享的代码。它们不是独立可部署的。相反,它们支持应用程序包从您的仓库创建最终的可部署文件。您也可以将这些包称为内部包,它们有自己的子类型。