我有一个用创建反应应用程序制作的有趣项目。我想将同一个应用程序转换为浏览器扩展。这个想法迫使我把这个项目变成一个单一的回购。因为在这两个应用程序中,我将使用相同的组件、挂钩、提供程序等。
我不想使用 Lerna 或 Yarn 工作区。而且,这将是我的第一个 monorepo。我想开始使用 Turborepo。但是,我无法想象如何让它以一种好的方式工作。
我的目标文件夹结构存在于下面
- 应用/
-
- 应用程序1/
-
- 应用程序2/
- 包/
-
- 成分/
-
- 挂钩/
-
- 提供者/
-
- 款式/
- 包.json
- 包-lock.json
我会将包文件夹中的 monorepo 依赖项导入到应用程序文件夹中的应用程序中。
例如;
import { useExampleHook } from '@projectname/hooks'
import { ExampleComponent } from '@projectname/components'
如果您有除 Turborepo 之外的其他解决方案,请随时告诉我。NPM 工作区也是一个可接受的解决方案。但是,由于性能更好,turborepo 具有优先权。
提前感谢您的时间和回答