Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Dzięki monorepo możesz porządkować wiele projektów i zarządzać nimi w jednym katalogu. Z tego przewodnika dowiesz się, jak zacząć wdrażać aplikacje oparte na Nx za pomocą App Hosting.
Wdrażanie monorepo za pomocą konsoli Firebase
Obsługa monorepo jest wbudowana w graficzny przepływ konfiguracji backendu w konsoli Firebase. 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 repozytorium monorepo:
Wdrażanie monorepo za pomocą wiersza poleceń Firebase
Obsługa monorepo jest wbudowana w proces konfiguracji backendu wywoływany przez polecenie interfejsu wiersza poleceń Firebase apphosting:backends:create. Po wejściu w ten proces i określeniu wybranego repozytorium GitHub pojawi się prośba o podanie katalogu głównego aplikacji względem repozytorium. W tym momencie podaj ścieżkę do aplikacji, którą chcesz wdrożyć w monorepo:
$ firebaseapphosting: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 przykładowe komponenty, które zostaną wdrożone w przypadku poniższej struktury projektu Nx i aplikacji „target-app”, którą chcesz skompilować i wdrożyć:
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”, kompilacja zakończy się niepowodzeniem i wyświetli komunikat, że App Hosting nie można znaleźć projektu do kierowania w repozytorium Nx.
W przypadku aplikacji Nx + Angular do ich tworzenia musisz użyć narzędzia do tworzenia aplikacji Angular. W pliku project.json określono narzędzie do tworzenia aplikacji Angular.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-08-31 UTC."],[],[],null,["\u003cbr /\u003e\n\nWith monorepos, you can organize and manage multiple projects in a single\ndirectory. This guide describes how to get started deploying Nx-based apps with\nApp Hosting.\n\nDeploy monorepos with the Firebase console\n\nMonorepo support is built into the graphical backend setup flow in the Firebase\nconsole. When prompted for a \"Root directory\" under \"Deployment settings,\"\nspecify the path to the application you want to deploy inside the monorepo:\n\nDeploy monorepos with the Firebase CLI\n\nMonorepo support is built into the backend setup flow invoked by the Firebase\nCLI command `apphosting:backends:create`. After you enter this flow and specify\nyour chosen GitHub repository, you are prompted to specify your app's root\ndirectory relative to your repository; at this prompt, pass the path to the\napplication you want to deploy inside the monorepo: \n\n $ firebase apphosting:backends:create --project [project-name]\n i === Import a GitHub repository\n ✔ Connected with GitHub successfully\n\n ? Which GitHub repo do you want to deploy? gh-username/nx-monorepo\n ? Specify your app's root directory relative to your repository path/to/app\n\nFor example, here are the assets that would be deployed given the following Nx\nproject structure and \"target-app\" as the application you want to build and\ndeploy: \n\n .\n ├── lib\n ├── apps\n │ └── target-app\n │ ├── project.json\n │ └── src\n │ └── ...\n ├── nx.json\n ├── package-lock.json\n └── package.json\n\nThe app's root directory relative to your repository is `apps/target-app`.\n\nTroubleshooting monorepo deployment\n\n- If you do not specify the \"root directory\" field, then the build will fail and display a message that App Hosting cannot find a project to target inside the Nx monorepo.\n- For Nx + Angular applications, you must use the [Angular application\n builder](https://angular.io/guide/esbuild) to build the application. The Angular application builder is specified in `project.json`"]]