Puoi configurare uno o più siti Firebase Hosting in un singolo sito Firebase progetto. Poiché i siti sono tutti nello stesso progetto Firebase, possono tutti alle altre risorse Firebase del progetto.
- Ogni sito ha la propria configurazione di hosting.
- Ogni sito ospita la propria raccolta di contenuti.
- Ogni sito può avere uno o più domini associati.
Configurando più siti Hosting all'interno dello stesso progetto Firebase, possono condividere più facilmente le risorse Firebase tra siti e app correlati. Per Ad esempio, se imposti il blog, il pannello di amministrazione e l'app pubblica come di siti nello stesso progetto Firebase, possono condividere tutti Firebase Authentication, pur avendo i propri domini unici o contenuti.
Passaggio 1: aggiorna la versione dell'interfaccia a riga di comando di Firebase
Accedi alle funzionalità di Firebase Hosting più recenti effettuando l'aggiornamento all'ultima versione dell'interfaccia a riga di comando Firebase.
Passaggio 2: aggiungi altri siti.
Aggiungi altri siti a un progetto Firebase utilizzando uno dei seguenti metodi:
Utilizza il flusso di lavoro nella pagina Hosting della console Firebase
Utilizza il comando dell'interfaccia a riga di comando Firebase:
firebase hosting:sites:create SITE_ID
Utilizza l'API REST Hosting:
projects.sites.create
Per ognuno di questi metodi, specificherai un SITE_ID
che viene utilizzato per creare
i sottodomini predefiniti di cui è stato eseguito il provisioning da Firebase per il sito:
SITE_ID.web.app
SITE_ID.firebaseapp.com
Poiché per questi URL viene utilizzato SITE_ID
, l'ID sito presenta quanto segue
requisiti:
- Deve essere un'etichetta del nome host valida, ovvero non può contenere
.
,_
e così via. - Deve contenere al massimo 30 caratteri
- Deve essere univoco a livello globale in Firebase
Per ogni sito, puoi anche facoltativamente aggiungere domini personalizzati per pubblicare gli stessi contenuti e configurazione a più URL.
Eliminare un sito secondario
Elimina i siti indesiderati da un progetto Firebase utilizzando uno dei seguenti metodi:
Utilizza il flusso di lavoro nella Hosting pagina della console Firebase
Utilizza il comando dell'interfaccia a riga di comando Firebase:
firebase hosting:sites:delete SITE_ID
Utilizza l'API REST Hosting:
projects.sites.delete
Tieni presente che non puoi eliminare il sito predefinito, che ha lo stesso SITE_ID
di
l'ID progetto Firebase.
Passaggio 3: configura i target di deployment per i tuoi siti
Se hai più siti ed esegui i comandi di deployment dell'interfaccia a riga di comando di Firebase,
L'interfaccia a riga di comando ha bisogno di un modo per comunicare le impostazioni di cui eseguire il deployment
sito. Con le target di deployment puoi identificare in modo univoco
un sito specifico con TARGET_NAME
nel tuo
firebase.json
file di configurazione
e nei tuoi Firebase comandi dell'interfaccia a riga di comando per
i test o il deployment nei tuoi siti.
Per creare una destinazione di deployment e applicare TARGET_NAME
a un sito Hosting, esegui
il seguente comando dell'interfaccia a riga di comando dalla radice della directory del progetto:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
dove i parametri sono:
TARGET_NAME: un nome univoco (definito da te) per il sito Hosting di destinazione del deployment
RESOURCE_IDENTIFIER: il
SITE_ID
del sito Hosting come elencate nel tuo progetto Firebase
Ad esempio, se hai creato due siti (myapp-blog
e myapp-app
) nel tuo progetto Firebase, puoi applicare un TARGET_NAME
univoco (blog
e app
, rispettivamente) a ogni sito eseguendo i seguenti comandi:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Le impostazioni per le destinazioni di deployment sono archiviate nel file .firebaserc
nella
del progetto, quindi devi configurare le destinazioni di deployment una sola volta
progetto.
Passaggio 4: definisci la configurazione di hosting per ciascun sito
Utilizza l'elemento TARGET_NAME
applicato di un sito quando ne definisci l'hosting
configurazione nel tuo
firebase.json
.
Se il file
firebase.json
definisce la configurazione per più siti, utilizza un formato array:{ "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 } ] }
Se il file
firebase.json
definisce la configurazione per un solo sito, Non è necessario utilizzare un formato array:{ "hosting": { "target": "blog", "public": "dist", // ... "rewrites": [...] } }
Passaggio 5: esegui test locali, visualizza l'anteprima delle modifiche ed esegui il deployment sui tuoi siti
Esegui uno dei seguenti comandi dalla directory radice della directory locale del progetto.
Comando | Descrizione |
---|---|
firebase emulators:start --only hosting |
Emula i contenuti Hosting e la configurazione del Hosting sito predefinito in un sito ospitato localmente URL |
firebase emulators:start --only hosting:TARGET_NAME |
Emula i contenuti Hosting e la configurazione dell'elemento specificato Hosting sito in un URL ospitato localmente |
firebase hosting:channel:deploy \ |
Esegue il deployment dei contenuti e della configurazione Hosting del sito Hosting predefinito a un URL di anteprima |
firebase hosting:channel:deploy \ |
Esegue il deployment dei contenuti e della configurazione di Hosting del sito Hosting specificato in un URL di anteprima |
firebase deploy --only hosting |
Esegue il deployment dei contenuti e della configurazione di Hosting sul canale live
di tutti Hosting siti configurati in
firebase.json
|
firebase deploy --only hosting:TARGET_NAME |
Esegue il deployment dei contenuti e della configurazione di Hosting sul canale live del sito Hosting specificato |
Comando | Descrizione |
---|---|
(non consigliato; usa invece emulators:start )firebase serve --only hosting
|
Pubblica i contenuti e la configurazione di Hosting del Hosting sito predefinito in un sito ospitato localmente URL |
(non consigliato; usa invece emulators:start )firebase serve --only hosting:TARGET_NAME
|
Pubblica i contenuti e la configurazione di Hosting dell'elemento specificato Hosting sito in un URL ospitato localmente |