Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Teilen Sie Projektressourcen über mehrere Standorte hinweg

Sie können eine oder mehrere Firebase-Hosting-Sites in einem einzelnen Firebase-Projekt einrichten. Da sich alle Sites im selben Firebase-Projekt befinden, können alle Sites auf die anderen Firebase-Ressourcen des Projekts zugreifen.

Durch das Einrichten mehrerer Hosting-Sites innerhalb desselben Firebase-Projekts können Sie Firebase-Ressourcen einfacher für verwandte Sites und Apps freigeben. Wenn Sie beispielsweise Ihr Blog, Ihr Admin-Panel und Ihre öffentliche App als einzelne Websites in demselben Firebase-Projekt einrichten, können sie alle dieselbe Firebase-Authentifizierungs-Benutzerdatenbank gemeinsam nutzen und gleichzeitig ihre eigenen eindeutigen Domänen oder Inhalte haben.

Schritt 1 : Aktualisieren Sie Ihre Firebase CLI-Version

Greifen Sie auf die aktuellsten Firebase-Hosting-Funktionen zu, indem Sie auf die neueste Version der Firebase-CLI aktualisieren .

Schritt 2 : Fügen Sie zusätzliche Sites hinzu

Fügen Sie einem Firebase-Projekt mithilfe einer der folgenden Methoden zusätzliche Websites hinzu:

  • Verwenden Sie den Workflow auf der Hosting-Seite der Firebase-Konsole

  • Verwenden Sie den Firebase-CLI-Befehl: 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 der die von Firebase SITE_ID Standard-Subdomänen für die Site erstellt werden:

  • SITE_ID .web.app
  • SITE_ID .firebaseapp.com

Da die SITE_ID für diese URLs verwendet wird, gelten für die Site-ID die folgenden Anforderungen:

  • Muss eine gültige Hostnamenbezeichnung sein, dh sie darf keine enthalten . , _ usw.
  • Darf maximal 30 Zeichen enthalten
  • Muss in Firebase global eindeutig sein

Zu jeder Site können Sie optional auch benutzerdefinierte Domänen hinzufügen , um denselben Inhalt und dieselbe Konfiguration für mehrere URLs bereitzustellen.

Löschen Sie eine sekundäre Site

Löschen Sie unerwünschte Sites aus einem Firebase-Projekt mit einer der folgenden Methoden:

  • Verwenden Sie den Workflow auf der Hosting-Seite der Firebase-Konsole

  • Verwenden Sie den Firebase-CLI-Befehl: firebase hosting:sites:delete SITE_ID

  • Verwenden Sie die Hosting-REST-API:projects.sites.delete

Beachten Sie, dass Sie die Standardwebsite nicht löschen können, die dieselbe SITE_ID wie Ihre Firebase-Projekt-ID hat.

Schritt 3 : Richten Sie Bereitstellungsziele für Ihre Sites ein

Wenn Sie mehrere Standorte haben und Firebase CLI-Bereitstellungsbefehle ausführen, benötigt die CLI eine Möglichkeit, um zu kommunizieren, welche Einstellungen für jeden Standort bereitgestellt werden sollen. Mit deploy Zielen können Sie eindeutig eine bestimmte Website mit einem identifizieren TARGET_NAME in Ihrer firebase.json Konfigurationsdatei und in Ihrer Firebase CLI - Befehlen zum Testen oder die Bereitstellung von auf Ihre Seiten.

Führen Sie den folgenden CLI-Befehl im Stammverzeichnis Ihres Projektverzeichnisses aus, um ein Bereitstellungsziel zu erstellen und einen TARGET_NAME auf eine Hosting-Site anzuwenden:

firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER

Wo die Parameter sind:

  • TARGET_NAME - Ein eindeutiger Name (den Sie selbst definiert haben) für die Hosting-Site, auf der Sie bereitstellen

  • RESOURCE_IDENTIFIER - Die SITE_ID für die Hosting-Site, wie in Ihrem Firebase-Projekt aufgeführt

Wenn Sie beispielsweise in Ihrem Firebase-Projekt zwei Websites ( myapp-blog und myapp-app ) erstellt haben, können Sie jeder Site einen eindeutigen TARGET_NAME ( blog bzw. app ) TARGET_NAME , indem Sie die folgenden Befehle ausführen:

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

Die Einstellungen für Bereitstellungsziele werden in der .firebaserc Datei in Ihrem Projektverzeichnis gespeichert, sodass Sie Bereitstellungsziele nur einmal pro Projekt einrichten müssen.

Schritt 4 : Definieren Sie die Hosting-Konfiguration für jede Site

Verwenden eines angelegten Website TARGET_NAME , wenn Sie definieren ihre Hosting - Konfiguration in Ihrer firebase.json Datei.

  • Wenn Ihre firebase.json Datei , um die Konfiguration für mehrere Standorte definiert, ein Array - Format verwenden:

    {
      "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 Ihre firebase.json Datei nur für eine Website , die die Konfiguration definiert, dann ist es nicht notwendig , ein Array - Format zu verwenden:

    {
      "hosting": {
          "target": "blog",
          "public": "dist",
    
          // ...
    
          "rewrites": [...]
      }
    }
    

Schritt 5 : Lokal testen, Änderungen in der Vorschau anzeigen 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-Site unter einer lokal gehosteten URL
firebase emulators:start --only hosting: TARGET_NAME Emuliert den Hosting-Inhalt und die Konfiguration der angegebenen Hosting-Site unter einer lokal gehosteten URL
firebase hosting:channel:deploy \
CHANNEL_ID
Stellt den Hosting-Inhalt und die Konfiguration der Standard- Hosting-Site unter einer Vorschau-URL bereit
firebase hosting:channel:deploy \
CHANNEL_ID --only TARGET_NAME
Stellt den Hosting-Inhalt und die Konfiguration der angegebenen Hosting-Site unter einer Vorschau-URL bereit
firebase deploy --only hosting Stellt den Hosting-Inhalt und die Hosting-Konfiguration für den Live-Kanal aller in firebase.json konfigurierten Hosting-Sites firebase.json
firebase deploy --only hosting: TARGET_NAME Stellt den Hosting-Inhalt und die Konfiguration für den Live-Kanal der angegebenen Hosting-Site bereit
Befehl Beschreibung
(nicht empfohlen; emulators:start stattdessen emulators:start )
firebase serve --only hosting
Dient dem Hosting-Inhalt und der Konfiguration der Standard- Hosting-Site unter einer lokal gehosteten URL
(nicht empfohlen; emulators:start stattdessen emulators:start )
firebase serve --only hosting: TARGET_NAME
Dient dem Hosting-Inhalt und der Konfiguration der angegebenen Hosting-Site unter einer lokal gehosteten URL