Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Con i monorepo, puoi organizzare e gestire più progetti in un'unica directory. Questa guida descrive come iniziare a eseguire il deployment di app basate su Nx con
App Hosting.
Esegui il deployment di monorepo con la console Firebase
Il supporto dei monorepo è integrato nel flusso di configurazione del backend grafico nella console Firebase. Quando ti viene chiesto di specificare una "Directory principale" in "Impostazioni di deployment",
specifica il percorso dell'applicazione di cui vuoi eseguire il deployment all'interno del monorepo:
Esegui il deployment di monorepo con la CLI Firebase
Il supporto monorepo è integrato nel flusso di configurazione del backend richiamato dal comando dell'interfaccia a riga di comando Firebase apphosting:backends:create. Dopo aver inserito questo flusso e specificato il repository GitHub scelto, ti viene chiesto di specificare la directory root dell'app rispetto al repository. A questo prompt, passa il percorso dell'applicazione che vuoi eseguire il deployment all'interno del 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
Ad esempio, ecco gli asset che verranno sottoposti a deployment data la seguente struttura del progetto Nx e "target-app" come applicazione da creare e sottoporre a deployment:
La directory principale dell'app relativa al tuo repository è apps/target-app.
Risoluzione dei problemi di deployment di monorepo
Se non specifichi il campo "directory principale", la build non andrà a buon fine
e verrà visualizzato un messaggio che indica che
App Hosting non riesce a trovare un progetto di destinazione all'interno del monorepo Nx.
Per le applicazioni Nx + Angular, devi utilizzare il builder di applicazioni
Angular per creare l'applicazione. Il
generatore di applicazioni Angular è specificato in project.json
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-06 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`"]]