Appearance
迁移到 Monorepo #
从多库设置迁移到单库设置可以为生产力带来巨大的好处,特别是如果:
- 你发现很难在应用程序之间共享代码
- 你想要一个统一的方法来解决你的代码构建
文件夹结构 #
让我们想象一下你的多重回购设置是这样的:
web (repo 1)
├─ package.json
docs (repo 2)
├─ package.json
app (repo 3)
├─ package.json
你有三个仓库,web
,docs
和 app
,它们没有任何共享的依赖关系,但是您已经注意到它们之间有许多重复的代码。
最好的办法在 monorepo 将组织他们:
my-monorepo
├─ apps
│ ├─ app
│ │ └─ package.json
│ ├─ docs
│ │ └─ package.json
│ └─ web
│ └─ package.json
└─ package.json
要开始共享代码,可以使用内部包模式,生成一个新的包文件夹:
my-monorepo
├─ apps
│ ├─ app
│ │ └─ package.json
│ ├─ docs
│ │ └─ package.json
│ └─ web
│ └─ package.json
├─ packages
│ └─ shared
│ └─ package.json
└─ package.json
INFO
如果你打算转移到 monorepo,尝试勾勒出确切的文件夹结构才是你的目标。
设置工作空间 #
一旦您的应用程序处于正确的文件夹结构中,您需要设置工作区并安装依赖项。我们关于设置工作区的部分应该会有所帮助。
处理任务 #
现在您的工作区已经设置好了,您需要弄清楚如何在新的 monorepo 中运行您的任务。我们有几个部分: