包类型
在 Turborepo 中,我们讨论两种类型的包
应用包
应用包是指你工作空间中将要从你的工作空间部署的包。应用包的示例包括 Next.js、Svelte、Vite 或 CLI 应用程序,这些应用程序通常在 ./apps
目录中找到。
最佳实践是,你的应用包是你包图的“末端”,而不是安装到你仓库的其他包中。你的 CI/CD 管道通常会在你的包和任务图的这些节点上完成。
将应用包安装到另一个包中
在极少数情况下,你可能需要将应用包安装到另一个包中。这应该是例外情况。如果你发现你经常这样做,你可能需要重新考虑你的包结构。
此规则的一个例外是将你的应用包安装到处理端到端测试的包中。安装后,你可以在你的端到端测试包中依赖应用包,以便它了解应用程序的重新部署。
库包
库包包含你打算在你的工作空间中共享的代码。它们不能独立部署。相反,它们支持应用包从你的仓库创建最终的可部署物。你也可以将这些包称为内部包,它们有自己的子类型。