Dzięki monorepozycjom możesz organizować wiele projektów i zarządzać nimi w ramach jednego katalogu. W tym przewodniku opisujemy, jak zacząć wdrażać aplikacje oparte na Nx za pomocą App Hosting.
Wdrażanie monorepozycji za pomocą interfejsu wiersza poleceń Firebase
Obsługa monorepo jest wbudowana w proces konfiguracji backendu wywoływany przez Firebase
Polecenie interfejsu wiersza poleceń apphosting:backends:create
. Gdy rozpoczniesz ten proces i określisz,
wybranego repozytorium GitHub, pojawi się prośba o określenie katalogu głównego aplikacji
katalogu względem repozytorium; w tym prompcie podaj ścieżkę do funkcji
aplikację, którą chcesz wdrożyć w monorepo:
$ firebase apphosting:backends:create --project [project-name] --location us-central1
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 zostałyby wdrożone na podstawie następujących danych Nx struktura projektu i „docelowa aplikacja” jako aplikację, którą chcesz skompilować, wdróż:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
Katalog główny aplikacji względem Twojego repozytorium to apps/target-app
.
Wdrażanie monorepozycji za pomocą konsoli Firebase
Obsługa monorepo jest wbudowana w graficzny proces konfiguracji backendu w Firebase konsoli. Gdy pojawi się prośba o podanie katalogu głównego w sekcji „Ustawienia wdrożenia”, określ ścieżkę do aplikacji, którą chcesz wdrożyć w monorepozytorium:
Rozwiązywanie problemów z wdrażaniem monorepozytorium
- Jeśli opuścisz „katalog główny” puste pole podczas konfiguracji backendu, aplikacja
Hosting może nadal mieć możliwość kompilowania i wdrażania projektu docelowego użytkownika, jeśli
jest określony w
defaultProject
powiązanego pliku nx.json konfiguracja . - Jeśli nie podasz „katalogu głównego” ani
defaultProject
, kompilacja zakończy się niepowodzeniem i wyświetli się komunikat informujący o tym, App Hosting nie może znaleźć projektu do kierowania w monorepozytorium Nx. - W przypadku aplikacji Nx + Angular musisz użyć aplikacji Angular
kreatora, aby skompilować aplikację.
Kreator aplikacji Angular jest określony w
project.json