Firebase App Hosting wurde speziell für die Unterstützung der frameworkzentrierten Entwicklung moderner Webanwendungen entwickelt. Diese Seite dient als Referenz für die Tools und Frameworks, die App Hosting direkt unterstützt, sowie als Ausgangspunkt, um mehr über verwandte Frameworks und Tools zu erfahren.
Web-Frameworks und App Hosting
App Hosting bietet zwei allgemeine Supportstufen für moderne Web-Frameworks: vorkonfigurierte Build- und Bereitstellungsunterstützung sowie Community-Support durch Open-Source-Beiträge, die der Spezifikation für das Ausgabebundle entsprechen. In beiden Fällen ermöglicht eine Framework-Adapter-Komponente die Integration eines bestimmten Frameworks in App Hosting.
Frameworks mit vorkonfigurierter Build- und Bereitstellungsunterstützung
Dank der vorkonfigurierten Build- und Bereitstellungsunterstützung erkennt Firebase, welches Framework Sie verwenden, indem die Datei package-lock.json oder eine andere Sperrdatei geprüft wird. Außerdem werden die Build- und Bereitstellungsprozesse für Ihre App optimiert. Google ist bestrebt, diese Frameworks weiterhin zu unterstützen. Das Firebase-Supportteam nimmt Problemberichte und Feature Requests entgegen.
Diese Supportstufe wird für Folgendes angeboten:
- Next.js
- Angular
Weitere Informationen zu bestimmten Versionen und Supportstufen finden Sie in den Zeitplänen für die Laufzeitunterstützung.
Wenn Sie versuchen, eine Node.js-Anwendung ohne Sperrdatei bereitzustellen, kann App Hosting Ihre Anwendung nicht erstellen und ausführen. Sie können package-lock.json erstellen, indem Sie npm install in Ihrem Stammverzeichnis ausführen.
Von der Community unterstützte Frameworks
Neben Next.js und Angular unterstützt App Hosting auch alle Web-Frameworks, die eine Build-Ausgabe bereitstellen können, die unserer Spezifikation für Ausgabe-Bundles entspricht. Framework-Autoren können die Spezifikation des Ausgabepakets nutzen, um sicherzustellen, dass ihr Framework von App Hosting unterstützt wird. Das beliebte Nuxt-Framework wird beispielsweise vom Nitro-Team unterstützt, das einen Firebase-Adapter entwickelt hat, um die Bereitstellung von Nuxt-Apps in App Hosting zu ermöglichen.
Wenn Sie weitere Frameworks von App Hosting unterstützen möchten, können Sie einen Framework-Adapter erstellen oder sich an die Betreuer des Frameworks wenden, um Build-Ausgaben in das App Hosting-Format zu konvertieren. Die Next.js- und Angular-Adapter sind gute Referenzbeispiele für alle, die einen Adapter erstellen.
Informationen zu von der Community unterstützten Frameworks finden Sie unter Firebase Open Source. Probleme und Feature Requests für von der Community unterstützte Frameworks sollten an die Open-Source-Community oder die Framework-Autoren gerichtet werden. In einigen Fällen kann Google möglicherweise helfen, aber die Community ist die erste Anlaufstelle für diese Adapter.
App Hosting Framework-Adapter
In App Hosting wird die Unterstützung für vorkonfigurierte und von der Community unterstützte Frameworks über Framework-Adapter bereitgestellt. App Hosting-Framework-Adapter haben zwei Hauptaufgaben:
- Sie parsen Ihren Quellcode und alle frameworkspezifischen Konfigurationsdateien (z. B.
next.config.js) und generieren ein Ausgabebundle, das von der restlichen App Hosting-Infrastruktur verarbeitet werden kann. - Sie führen den Build-Befehl Ihrer Anwendung aus, um statische Assets zu generieren und eine optimierte Version Ihrer Anwendung für die Produktion zu erstellen.
Framework-Adapter erstellen Ihre Node.js-Anwendung mit npm run build. Am besten funktionieren sie mit den Standard-Build-Skripts für jedes Framework: next build für Next.js und ng build für Angular. App Hosting versucht, Builds mit benutzerdefinierten Build-Befehlen zu erstellen, kann aber nicht zuverlässig garantieren, dass dies erfolgreich ist. Sie können
Build- und Ausführungsskripts
in apphosting.yaml überschreiben.
Die Quelle für Next.js- und Angular-Adapter ist in apphosting-adapters verfügbar.
Laufzeiten für App Hosting
Nachdem Ihre Node.js-Anwendung von App Hosting erstellt und bereitgestellt wurde, wird sie in einer Cloud Run-Überarbeitung ausgeführt. Dementsprechend sollte die Laufzeitversion für Ihre Anwendung sowohl im unterstützten Bereich von Cloud Run als auch im Bereich des von Ihnen ausgewählten Web-Frameworks liegen. Für die vorkonfigurierte Unterstützung für Angular und Next.js bedeutet dies, dass die folgenden Framework- und Node.js-Versionen unterstützt werden:
- Next.js 13.5.x und höher
- Angular 18.2.x und höher
- Node.js 22 und höher
App Hosting bietet nicht automatisch aktiven Support für neu veröffentlichte Framework-Versionen. Neuere Versionen als die derzeit als „aktiv“ gekennzeichnete Version werden als „Vorabversion“ betrachtet, bis sie offiziell als „aktiv“ für App Hosting gekennzeichnet werden.
App Hosting bietet Langzeitsupport (LTS) für die neueste Nebenversion einer Hauptversion für ein Jahr ab dem aktiven Supportzeitraum, sofern Sie innerhalb dieser Nebenversion regelmäßig auf die neuesten Patch-Releases aktualisieren. In den folgenden Tabellen finden Sie Details zu Next.js und Angular.
Zeitplan für die Unterstützung von Next.js
| Version | Status | Einstellung |
|---|---|---|
| 13.5.x | lts | 2026-10-9 |
| 14.2.x | lts | 2026-10-9 |
| 15.0.x | lts | 2027-10-9 |
| 15.1.x | lts | 2027-10-9 |
| 15.2.x | Aktiv | nicht vor dem 09.10.2026 |
Zeitplan für die Unterstützung von Angular
| Version | Status | Einstellung |
|---|---|---|
| 18.2.x | lts | 2026-10-9 |
| 19.0.x | lts | 2027-10-9 |
| 19.1.x | lts | 2027-10-9 |
| 19.2.x | Aktiv | - |
Automatische Basis-Image-Updates (ABIU)
Automatische Basis-Image-Updates (ABIU) sind eine Funktion, mit der Sicherheitspatches automatisch auf Ihre zugrunde liegende Laufzeitumgebung angewendet werden, ohne dass Sie einen neuen App-Rollout auslösen müssen.
App Hosting aktiviert ABIU standardmäßig für neue Backends, wobei die folgenden spezifischen Anforderungen gelten:
- Versionierte Laufzeiten: Wenn Sie ABIU verwenden möchten, müssen Sie eine versionierte Laufzeit angeben (z. B.
nodejs22odernodejs24). App Hosting unterstützt gerade Node.js-Versionen und spiegelt die Unterstützung von Cloud Run wider. - package.json-Abgleich: Die Node-Version, die Sie für App Hosting auswählen, muss mit der Version kompatibel sein, die im Feld
enginesIhrerpackage.json-Datei angegeben ist. Wenn es eine Abweichung gibt, wird ein Build-Fehler von Cloud Build angezeigt. Wenn Sie das Feldenginesändern, müssen Sie die Laufzeit Ihres Back-Ends vor der Bereitstellung aktualisieren.
ABIU deaktivieren
Wenn Sie ABIU deaktivieren möchten, können Sie dies während des Onboardings tun oder in der Firebase-Konsole für Ihre Laufzeit Nicht angegeben auswählen. Wenn eine versionslose nodejs-Standardeinstellung verwendet wird, wird ABIU automatisch deaktiviert.
Laufzeitversionen verwalten
Sie können die Laufzeitversion und die ABIU-Einstellung Ihres Back-Ends jederzeit auf dem Tab Einstellungen Ihres App Hosting-Dashboards einsehen und ändern. Beachten Sie jedoch, dass eine Änderung der Laufzeitversion zu Fehlern in Ihrer Anwendung führen kann, wenn die neue Version nicht mit Ihrem Code kompatibel ist.
Laufzeitversionen erreichen irgendwann das Ende ihres Supportlebenszyklus. Es ist wichtig, Ihre Laufzeiten auf dem neuesten Stand zu halten, um funktionsgefährdende Änderungen zu vermeiden:
- Verworfene Laufzeiten: Wenn die von Ihnen ausgewählte Laufzeit verworfen wird, funktioniert Ihre Anwendung im Allgemeinen weiterhin. Sie erhalten eine Warnung in der Console und sollten so schnell wie möglich zu einer neueren Version wechseln. Weitere Informationen finden Sie in der Cloud Run-Dokumentation zum Laufzeit-Lebenszyklus.
- Außer Betrieb genommene Laufzeiten: Außer Betrieb genommene Laufzeiten werden überhaupt nicht unterstützt. Sie können keine neuen Builds oder Back-Ends mit einer eingestellten Version erstellen. Wenn Sie dies versuchen, wird ein Build-Fehler ausgegeben. Vorhandene Bereitstellungen, die auf eingestellten Versionen ausgeführt werden, funktionieren möglicherweise nicht mehr. Cloud Run behält sich das Recht vor, sie zu löschen.
Eine vollständige Liste der unterstützten, verworfenen und außer Betrieb genommenen Node-Versionen finden Sie in der Dokumentation zum Laufzeitsupport für Cloud Run. Weitere technische Details zur Funktionsweise von Basis-Image-Updates finden Sie in der Cloud Run-ABIU-Dokumentation.
Paketmanager
App Hosting verwendet Cloud Native Buildpacks, um die Installation von Abhängigkeiten auszuführen, und erstellt die Anwendung mit npm, yarn oder pnpm. Andere Paketmanager wie JSR werden nicht unterstützt.
NPM
- NPM ist der Standard-Paketmanager.
- Nicht produktionsrelevante Abhängigkeiten werden nach erfolgreichem Build entfernt.
- Sie können den npm-Versionsabschnitt mit dem
engines.npm-Feld in Ihrerpackage.json-Datei angeben.
Garn
- Yarn wird stattdessen verwendet, wenn Sie die Datei
yarn.lockin Ihr Projekt aufnehmen. - Sie können die zu verwendende Yarn-Version im Feld
engines.yarnoderpackageManagerIhrerpackage.json-Datei angeben. - App Hosting unterstützt den Yarn2-PnP-Modus.
Pnpm
- Pnpm wird stattdessen verwendet, wenn Sie die Datei
pnpm-lock.yamlin Ihr Projekt aufnehmen. - Sie können eine Version von pnpm im Feld
engines.pnpmoderpackageManagerIhrer Dateipackage.jsonangeben. - Ein funktionierendes Beispiel finden Sie in der Anwendung sample-node-pnpm.
Monorepos für App Hosting
App Hosting unterstützt Nx- und Turborepo-Monorepo-Anwendungen. Eine ausführliche Anleitung finden Sie unter Monorepos mit App Hosting verwenden.
Die folgenden Nx-Versionen werden unterstützt:
| Version | Status | Einstellung |
|---|---|---|
| 20.8.x | lts | nicht vor dem 09.10.2027 |
Wenn Sie Unterstützung für andere Arten von Monorepo-Arbeitsbereichen benötigen, teilen Sie uns dies bitte über Firebase UserVoice mit.