Vous pouvez configurer un ou plusieurs sites Firebase Hosting dans un même projet Firebase projet. Étant donné que les sites font tous partie du même projet Firebase, ils peuvent tous accéder aux autres ressources Firebase du projet.
- Chaque site possède sa propre configuration d'hébergement.
- Chaque site héberge sa propre collection de contenu.
- Chaque site peut avoir un ou plusieurs domaines associés.
En configurant plusieurs sites Hosting dans le même projet Firebase, vous peuvent partager plus facilement des ressources Firebase entre des applications et des sites associés. Pour exemple, si vous configurez votre blog, votre panneau d'administration et votre application publique en tant que d'un même projet Firebase, ils peuvent tous partager le même Firebase Authentication, tout en ayant ses propres domaines uniques ou de votre contenu.
Étape 1: Mettez à jour la version de la CLI Firebase
Accédez aux fonctionnalités Firebase Hosting les plus récentes en installer la dernière version de la CLI Firebase.
Étape 2: Ajouter des sites
Ajoutez d'autres sites à un projet Firebase en utilisant l'une des méthodes suivantes:
Utiliser le workflow sur la page Hosting de la console Firebase
Exécutez la commande CLI Firebase:
firebase hosting:sites:create SITE_ID
Utilisez l'API REST Hosting:
projects.sites.create
Pour chacune de ces méthodes, vous devez spécifier un SITE_ID
qui sera utilisé pour construire
les sous-domaines par défaut provisionnés par Firebase pour le site:
SITE_ID.web.app
SITE_ID.firebaseapp.com
Comme SITE_ID
est utilisé pour ces URL, l'ID du site se présente comme suit :
configuration requise:
- Doit être un libellé de nom d'hôte valide, ce qui signifie qu'il ne doit pas contenir
.
,_
, etc. - Ne doit pas comporter plus de 30 caractères
- Doit être unique dans Firebase
Pour chaque site, vous pouvez aussi, si vous le souhaitez, ajouter des domaines personnalisés pour diffuser le même contenu et à plusieurs URL.
Supprimer un site secondaire
Supprimez les sites indésirables d'un projet Firebase à l'aide de l'une des méthodes suivantes méthodes:
Utilisez le workflow Page Hosting de la console Firebase
Utilisez la commande CLI Firebase :
firebase hosting:sites:delete SITE_ID
Utilisez l'API REST Hosting:
projects.sites.delete
Notez que vous ne pouvez pas supprimer le site par défaut, qui a le même SITE_ID
que
l'ID de votre projet Firebase.
Étape 3: Définir des cibles de déploiement pour vos sites
Lorsque vous exécutez les commandes de déploiement de la CLI Firebase sur plusieurs sites,
La CLI a besoin d'un moyen de communiquer les paramètres à déployer sur chaque
sur votre site. Les cibles de déploiement vous permettent d'identifier de manière unique
un site spécifique dont l'URL TARGET_NAME
Fichier de configuration firebase.json
et dans vos Firebasecommandes CLI pour
les tests ou le déploiement sur vos sites.
Pour créer une cible de déploiement et appliquer un TARGET_NAME
à un site Hosting, exécutez la commande suivante :
en exécutant la commande CLI suivante à partir de la racine du répertoire de votre projet:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
où les paramètres sont les suivants :
TARGET_NAME : nom unique (que vous avez vous-même défini) pour la Site Hosting sur lequel vous effectuez le déploiement
RESOURCE_IDENTIFIER :
SITE_ID
pour le site Hosting comme dans votre projet Firebase
Par exemple, si vous avez créé deux sites (myapp-blog
et myapp-app
) dans votre
projet Firebase, vous pouvez appliquer un TARGET_NAME
unique (blog
et app
, respectivement) à chaque site en exécutant les commandes suivantes:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Les paramètres des cibles de déploiement sont stockés dans le fichier .firebaserc
de votre
dans le répertoire du projet. Vous n'avez donc à configurer les cibles de déploiement qu'une seule fois
projet.
Étape 4: Définir la configuration d'hébergement pour chaque site
Utilisez le TARGET_NAME
appliqué à un site lorsque vous définissez son hébergement
dans votre
firebase.json
.
Si votre fichier
firebase.json
définit la configuration pour plusieurs sites, Utilisez un format de tableau:{ "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 } ] }
Si votre fichier
firebase.json
définit la configuration pour un seul site, il n'est pas nécessaire d'utiliser un format de tableau:{ "hosting": { "target": "blog", "public": "dist", // ... "rewrites": [...] } }
Étape 5: Tester en local, prévisualiser les modifications et les déployer sur vos sites
Exécutez l'une des commandes suivantes à partir de la racine du répertoire local de votre projet.
Commande | Description |
---|---|
firebase emulators:start --only hosting |
Émule le contenu et la configuration de Hosting du site Hosting par défaut sur une URL hébergée localement. |
firebase emulators:start --only hosting:TARGET_NAME |
Émule le contenu et la configuration Hosting du site Hosting spécifié sur une URL hébergée localement |
firebase hosting:channel:deploy \ |
Déploie le contenu et la configuration Hosting du Site par défaut Hosting à une URL d'aperçu |
firebase hosting:channel:deploy \ |
Déploie le contenu et la configuration Hosting du site Hosting spécifié sur une URL d'aperçu. |
firebase deploy --only hosting |
Déploie le contenu et la configuration Hosting sur le canal en direct de tous les sites Hosting configurés dans firebase.json .
|
firebase deploy --only hosting:TARGET_NAME |
Déploie le contenu et la configuration Hosting sur la chaîne en direct du site Hosting spécifié |
Commande | Description |
---|---|
(non recommandé, utilisez plutôt emulators:start )firebase serve --only hosting
|
Sert le contenu et la configuration Hosting du default Hosting sur un site hébergé localement URL |
(non recommandé ; utilisez plutôt emulators:start )firebase serve --only hosting:TARGET_NAME
|
Affiche le contenu et la configuration Hosting du Site Hosting sur une URL hébergée localement |