Sie können eine oder mehrere Firebase Hosting-Websites in einem einzelnen Firebase einrichten Projekt arbeiten. Da sich die Websites alle im selben Firebase-Projekt befinden, können alle Websites Auf die anderen Firebase-Ressourcen des Projekts zugreifen
- Jede Website hat eine eigene Hostingkonfiguration.
- Jede Website hostet eine eigene Inhaltssammlung.
- Jede Website kann eine oder mehrere verknüpfte Domains haben.
Wenn Sie im selben Firebase-Projekt mehrere Hosting-Websites einrichten, können Firebase-Ressourcen einfacher für ähnliche Websites und Apps freigeben. Für Wenn Sie beispielsweise Ihren Blog, Ihr Admin-Steuerfeld und Ihre öffentliche App als einzelne und Websites im selben Firebase-Projekt Firebase Authentication-Nutzerdatenbank und ihre eigenen eindeutigen Domains oder Inhalte.
Schritt 1: Firebase-CLI-Version aktualisieren
Wenn Sie auf die neuesten Firebase Hosting-Funktionen zugreifen möchten, aktualisieren Sie die Firebase CLI auf die neueste Version.
Schritt 2: Weitere Websites hinzufügen
Sie können einem Firebase-Projekt mit einer der folgenden Methoden weitere Websites hinzufügen:
Verwenden Sie den Workflow in der Hosting Seite der Firebase-Konsole
Verwenden Sie den Befehl Firebase über die Befehlszeile:
firebase hosting:sites:create SITE_ID
Verwenden Sie die Hosting REST API:
projects.sites.create
Für jede dieser Methoden geben Sie eine SITE_ID
an, die zum Erstellen von
die von Firebase bereitgestellten Standard-Subdomains für die Website:
SITE_ID.web.app
SITE_ID.firebaseapp.com
Da für diese URLs SITE_ID
verwendet wird, hat die Website-ID Folgendes:
Anforderungen:
- Muss ein gültiges Hostnamenlabel sein, das heißt, es darf keine
.
,_
usw. enthalten. - Darf höchstens 30 Zeichen enthalten
- Darf in Firebase global eindeutig sein
Für jede Website können Sie auch optional Benutzerdefinierte Domains hinzufügen, um dieselben Inhalte und Konfiguration auf mehrere URLs.
Sekundäre Website löschen
So löschen Sie unerwünschte Websites aus einem Firebase-Projekt: Methoden:
Verwenden Sie den Workflow in der Hosting Seite der Firebase-Konsole
Verwenden Sie den Befehl Firebase über die Befehlszeile:
firebase hosting:sites:delete SITE_ID
Hosting REST API verwenden:
projects.sites.delete
Beachten Sie, dass Sie die Standardwebsite nicht löschen können, da sie dieselbe SITE_ID
hat wie
Ihre Firebase-Projekt-ID.
Schritt 3: Bereitstellungsziele für Ihre Websites einrichten
Wenn Sie mehrere Standorte haben und Firebase-Befehlszeilen-Bereitstellungsbefehle ausführen,
Die Befehlszeile benötigt eine Möglichkeit, um zu kommunizieren, welche Einstellungen für die einzelnen Nutzer bereitgestellt werden sollen
Website. Mit Bereitstellungszielen können Sie
eine bestimmte Website mit einem TARGET_NAME
in Ihrem
firebase.json
-Konfigurationsdatei
und in Ihren Firebase CLI-Befehlen für
auf Ihren Websites testen oder bereitstellen.
Führen Sie folgenden Befehl aus, um ein Bereitstellungsziel zu erstellen und ein TARGET_NAME
auf eine Hosting-Website anzuwenden
folgenden CLI-Befehl aus dem Stammverzeichnis Ihres Projektverzeichnisses:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
Die Parameter sind:
TARGET_NAME: ein eindeutiger, von Ihnen selbst definierter Name für die Hosting Website, auf der die Bereitstellung erfolgt
RESOURCE_IDENTIFIER:
SITE_ID
für die Hosting-Website, wie in Ihrem Firebase-Projekt aufgeführt
Wenn Sie beispielsweise zwei Websites (myapp-blog
und myapp-app
) in Ihrem
Firebase-Projekt können Sie eine eindeutige TARGET_NAME
(blog
und app
) zu jeder Website hinzufügen. Dazu führen Sie die folgenden Befehle aus:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Die Einstellungen für Bereitstellungsziele werden in der Datei .firebaserc
in Ihrem
Projektverzeichnis. Daher müssen Sie Bereitstellungsziele nur einmal pro
Projekt arbeiten.
Schritt 4: Hostingkonfiguration für jede Website definieren
Beim Definieren des Hostings einer Website den angewendeten TARGET_NAME
verwenden
Konfiguration in Ihrem
Datei firebase.json
Wenn Ihre
firebase.json
-Datei die Konfiguration für mehrere Websites definiert, Verwenden Sie ein Array-Format:{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] }
Wenn deine
firebase.json
-Datei die Konfiguration nur für eine Website definiert, ist es nicht notwendig, ein Array-Format zu verwenden:{ "hosting": { "target": "blog", "public": "dist", // ... "rewrites": [...] } }
Schritt 5: Lokal testen, Änderungen in der Vorschau ansehen und auf Ihren Websites bereitstellen
Führen Sie einen der folgenden Befehle im Stammverzeichnis Ihres lokalen Projektverzeichnisses aus.
Befehl | Beschreibung |
---|---|
firebase emulators:start --only hosting |
Emuliert den Hosting-Inhalt und die Konfiguration der Standard-Hosting-Website unter einer lokal gehosteten URL |
firebase emulators:start --only hosting:TARGET_NAME |
Emuliert den Hosting-Inhalt und die Konfiguration des angegebenen Hosting-Website unter einer lokal gehosteten URL |
firebase hosting:channel:deploy \ |
Die Hosting-Inhalte und die Konfiguration der Standard-Hosting-Website werden unter einer Vorschau-URL bereitgestellt. |
firebase hosting:channel:deploy \ |
Stellt den Hosting-Inhalt und die Konfiguration des angegebenen Hosting Website unter einer Vorschau-URL |
firebase deploy --only hosting |
Stellt den Inhalt und die Konfiguration von Hosting im Live-Kanal bereit
von allen Hosting Websites konfiguriert in
firebase.json
|
firebase deploy --only hosting:TARGET_NAME |
Stellt den Inhalt und die Konfiguration von Hosting im Live-Kanal bereit der angegebenen Hosting Website |
Befehl | Beschreibung |
---|---|
(nicht empfohlen; stattdessen emulators:start verwenden)firebase serve --only hosting
|
Stellt den Hosting-Inhalt und die Konfiguration des default Hosting-Website auf einer lokal gehosteten URL |
(nicht empfohlen; stattdessen emulators:start verwenden)firebase serve --only hosting:TARGET_NAME
|
Stellt den Hosting-Inhalt und die Konfiguration des angegebenen Hosting-Website unter einer lokal gehosteten URL |