Dzięki monorepo możesz organizować i zarządzać wieloma projektami w jednym katalogu. Z tego przewodnika dowiesz się, jak zacząć wdrażać aplikacje oparte na Turborepo lub Nx za pomocą App Hosting.
Wdrażanie monorepo za pomocą konsoli Firebase
Obsługa monorepo jest wbudowana w graficzny proces konfiguracji backendu w Firebase konsoli. Gdy w sekcji „Ustawienia wdrożenia” pojawi się prośba o podanie „Katalogu głównego”, określ ścieżkę do aplikacji, którą chcesz wdrożyć w monorepo:

Wdrażanie monorepo za pomocą interfejsu wiersza poleceń Firebase
Obsługa monorepo jest wbudowana w proces konfiguracji backendu wywoływany przez polecenie interfejsu wiersza poleceń
Firebase apphosting:backends:create. Gdy przejdziesz do tego procesu i określisz wybrane repozytorium GitHub, pojawi się prośba o określenie katalogu głównego aplikacji względem repozytorium. W tym momencie podaj ścieżkę do aplikacji, którą chcesz wdrożyć w monorepo:
$ firebase apphosting:backends:create --project [project-name]
i === Import a GitHub repository
✔ Connected with GitHub successfully
? Which GitHub repo do you want to deploy? gh-username/nx-monorepo
? Specify your app's root directory relative to your repository path/to/app
Oto na przykład zasoby, które zostaną wdrożone w przypadku podanej struktury projektu i aplikacji „target-app”, którą chcesz skompilować i wdrożyć:
Nx
.
├── libs
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
Turborepo
.
├── packages
├── apps
│ └── target-app
│ ├── package.json
│ └── src
│ └── ...
├── turbo.json
├── package.json
└── package-lock.json
Katalog główny aplikacji względem repozytorium to apps/target-app.
Rozwiązywanie problemów z wdrażaniem monorepo
- Jeśli nie określisz pola "katalog główny" w przypadku Nx, kompilacja się nie powiedzie i wyświetli się komunikat, że App Hosting nie może znaleźć projektu docelowego w monorepo Nx. Podobnie użytkownicy Turborepo muszą określić katalog aplikacji docelowej, ponieważ w Turborepo nie ma koncepcji projektu domyślnego.
- W przypadku aplikacji Nx + Angular do skompilowania aplikacji musisz użyć narzędzia do tworzenia aplikacji Angular
builder. Narzędzie do tworzenia aplikacji Angular jest określone w pliku
project.json.