Firebase App Hosting è progettato specificamente per supportare lo sviluppo di app web moderne incentrate sui framework. Utilizza questa pagina come riferimento per gli strumenti e i framework supportati direttamente da App Hosting, nonché come punto di partenza per scoprire i framework e gli strumenti correlati.
Framework web e App Hosting
App Hosting fornisce due livelli di supporto generali per i framework web moderni: supporto preconfigurato per la creazione e il deployment e supporto a livello di community tramite contributi open source conformi alle specifiche del bundle di output. In entrambi i casi, un componente adattatore del framework consente l'integrazione di un framework specifico con App Hosting.
Framework con supporto preconfigurato per la creazione e il deployment
Con il supporto preconfigurato per la creazione e il deployment, Firebase identifica il framework che stai utilizzando esaminando il file package-lock.json o un altro file di blocco e ottimizza i processi di creazione e deployment per la tua app. Google si impegna a mantenere il supporto per questi framework e il team di assistenza Firebase può accettare segnalazioni di problemi e richieste di funzionalità.
Questo livello di supporto è fornito per:
- Next.js
- Angular
Per informazioni dettagliate sulle versioni e sui livelli di supporto specifici, consulta le pianificazioni dell'assistenza.
Se provi a eseguire il deployment di un'app Node.js a cui manca un file di blocco, App Hosting
non riuscirà a creare ed eseguire l'app. Puoi creare package-lock.json eseguendo npm install nella directory principale.
Framework supportati dalla community
Oltre a Next.js e Angular, App Hosting supporta anche qualsiasi framework web in grado di fornire un output di build che corrisponda alle nostre specifiche del bundle di output. Gli autori dei framework possono sfruttare le specifiche del bundle di output per assicurarsi che il loro framework sia supportato da App Hosting. Ad esempio, il popolare framework Nuxt è supportato dal team Nitro, che ha creato un adattatore Firebase per consentire il deployment delle app Nuxt su App Hosting.
Se vuoi che App Hosting supporti altri framework, tu puoi creare un adattatore del framework o contattare i manutentori del framework per convertire gli output di build nel formato App Hosting. Gli adattatori Next.js e Angular sono buoni esempi di riferimento per chiunque crei un adattatore.
Le informazioni sui framework supportati dalla community sono disponibili su Firebase Open Source. I problemi e le richieste di funzionalità per i framework supportati dalla community devono essere indirizzati alla community open source o agli autori del framework. In alcuni casi Google potrebbe essere in grado di fornire assistenza, ma la community è la prima linea di assistenza per questi adattatori.
Adattatori del framework App Hosting
In App Hosting, il supporto per i framework preconfigurati e supportati dalla community viene fornito tramite adattatori del framework. App Hosting framework gli adattatori hanno due ruoli chiave:
- Analizzano il codice sorgente e tutti i file di configurazione specifici del framework (ad esempio
next.config.js) e generano un bundle di output che può essere elaborato dal resto dell'App Hosting infrastruttura. - Eseguono il comando di build dell'app per generare asset statici e creare una versione ottimizzata dell'app per la produzione.
Gli adattatori del framework creano l'app Node.js con npm run build, funzionando al meglio con gli script di build predefiniti per ogni framework: next build per Next.js e ng build per Angular. App Hosting tenterà di eseguire le build con comandi di build personalizzati, ma non può garantire in modo affidabile la riuscita. Puoi
sostituire gli script di build ed esecuzione
in apphosting.yaml.
Il codice sorgente degli adattatori Next.js e Angular è disponibile in firebase-framework-tools.
Runtime per App Hosting
Dopo la creazione e il rollout da parte di App Hosting, l'app Node.js viene eseguita in una Cloud Run revisione. Di conseguenza, la versione di runtime della tua app deve rientrare sia nell'intervallo supportato da Cloud Run's sia nell'intervallo del framework web scelto. Per il supporto preconfigurato di Angular e Next.js, ciò significa che sono supportate le seguenti versioni di Node.js:
- Next.js 13.5.x e versioni successive
- Angular 18.2.x e versioni successive
- Node.js 20 e versioni successive
App Hosting non fornisce automaticamente il supporto attivo per le versioni del framework appena rilasciate. Le versioni più recenti della versione "attiva" attualmente designata verranno considerate in stato "anteprima" finché non verranno contrassegnate ufficialmente come "attive" per App Hosting.
App Hosting supporta l'assistenza a lungo termine (LTS) per l'ultima versione secondaria di una release principale per un anno dal periodo di assistenza attivo, a condizione che tu aggiorni costantemente alle ultime release patch all'interno di quella versione secondaria. Per informazioni dettagliate su Next.js e Angular, consulta le tabelle seguenti.
Pianificazione del supporto di Next.js
| Versione | Stato | Ritiro |
|---|---|---|
| 13.5.x | lts | 2026-10-9 |
| 14.2.x | lts | 2026-10-9 |
| 15.0.x | attivo | non prima del 2025-10-9 |
| 15.1.x | attivo | non prima del 2025-10-9 |
| 15.2.x | attivo | - |
Pianificazione del supporto di Angular
| Versione | Stato | Ritiro |
|---|---|---|
| 18.2.x | lts | 2026-10-9 |
| 19.0.x | attivo | non prima del 2025-10-9 |
| 19.1.x | attivo | non prima del 2025-10-9 |
| 19.2.x | attivo | - |
Aggiornamenti automatici delle immagini di base (ABIU)
Gli aggiornamenti automatici delle immagini di base (ABIU) sono una funzionalità che applica automaticamente le patch di sicurezza all'ambiente di runtime sottostante senza richiedere di attivare un nuovo rollout dell'app.
App Hosting per impostazione predefinita attiva ABIU per i nuovi backend, con questi requisiti specifici:
- Runtime con controllo delle versioni: per utilizzare ABIU, devi specificare un runtime con controllo delle versioni
(ad esempio
nodejs20,nodejs22,nodejs24). App Hosting supporta le versioni di Node.js con numeri pari, rispecchiando il supporto di Cloud Run. - Corrispondenza di package.json: la versione di Node selezionata per App Hosting
deve essere compatibile con la versione specificata nel campo
enginesdel filepackage.json. Se c'è una mancata corrispondenza, si verifica un errore in fase di build da Cloud Build. Ogni volta che modifichi il campoengines, assicurati di aggiornare il runtime del backend prima del deployment.
Disattivazione di ABIU
Se vuoi disattivare ABIU, puoi farlo durante l'onboarding o selezionando "Non specificato" per il runtime nella Firebase console. Quando viene utilizzato il valore predefinito nodejs senza versione, ABIU viene disattivato automaticamente.
Gestione delle versioni di runtime
Puoi visualizzare e modificare la versione di runtime e la preferenza ABIU del backend in qualsiasi momento nella scheda Impostazioni della dashboard App Hosting. Tuttavia, tieni presente che la modifica della versione di runtime potrebbe interrompere l'applicazione se la nuova versione non è compatibile con il codice.
Le versioni di runtime raggiungono la fine del ciclo di vita del supporto. È importante mantenere aggiornati i runtime per evitare modifiche che causano interruzioni:
- Runtime ritirati: se il runtime scelto viene ritirato, l'applicazione in genere continuerà a funzionare. Riceverai un avviso nella console e dovresti passare a una versione più recente il prima possibile. Per ulteriori informazioni, consulta la documentazione di Cloud Run sul ciclo di vita del runtime lifecycle.
- Runtime disattivati: i runtime disattivati non sono supportati. Non ti sarà consentito creare nuove build o backend utilizzando una versione disattivata e, se provi a farlo, verrà generato un errore di build. I deployment esistenti in esecuzione su versioni disattivate potrebbero smettere di funzionare e Cloud Run si riserva il diritto di eliminarli.
Per un elenco completo delle versioni di Node supportate, ritirate e disattivate, consulta la documentazione relativa al supporto del runtime Cloud Run. Per ulteriori dettagli tecnici sul funzionamento degli aggiornamenti delle immagini di base, consulta la Cloud Run ABIU documentazione.
Gestori di pacchetti
App Hosting utilizza Cloud Native Buildpacks per eseguire l' installazione delle dipendenze e creare l'app utilizzando npm, yarn o pnpm. Altri gestori di pacchetti come JSR non sono supportati.
NPM
- NPM è il gestore di pacchetti predefinito.
- Le dipendenze non di produzione vengono eliminate dopo la creazione.
- Puoi specificare la sezione della versione npm utilizzando il campo
engines.npmnel filepackage.json.
Filato
- Yarn viene utilizzato quando includi il file
yarn.locknel progetto. - Puoi specificare la versione di yarn da utilizzare nel campo
engines.yarnopackageManagerdel filepackage.json. - App Hosting supporta la modalità Yarn2 PnP.
Pnpm
- Pnpm viene utilizzato quando includi il file
pnpm-lock.yamlnel progetto. - Puoi specificare una versione di pnpm nel campo
engines.pnpmopackageManagerdel filepackage.json. - Per un esempio funzionante, vedi il sample-node-pnpm. app.
Monorepo per App Hosting
App Hosting supporta le app basate su Nx. Per istruzioni dettagliate, consulta Utilizzare i monorepo con App Hosting.
Sono supportate le seguenti versioni di Nx:
| Versione | Stato | Ritiro |
|---|---|---|
| 19.5.x | manutenzione | 2025-10-9 |
| 19.6.x | manutenzione | 2025-10-9 |
| 19.7.x | manutenzione | 2025-10-9 |
| 19.8.x | lts | 2026-10-9 |
| 20.0.x | attivo | non prima del 2025-10-9 |
| 20.1.x | attivo | non prima del 2025-10-9 |
| 20.2.x | attivo | non prima del 2025-10-9 |
| 20.3.x | attivo | non prima del 2025-10-9 |
| 20.4.x | attivo | non prima del 2025-10-9 |
| 20.5.x | attivo | non prima del 2025-10-9 |
| 20.6.x | attivo | non prima del 2025-10-9 |
| 20.7.x | attivo | — |
Se hai bisogno di assistenza per altri tipi di spazi di lavoro monorepo, comunicacelo su Firebase UserVoice.