W jednej Firebase możesz skonfigurować co najmniej 1 witrynę Firebase Hosting w projektach AI. Wszystkie witryny znajdują się w tym samym projekcie Firebase, dostęp do innych zasobów Firebase w projekcie.
- Każda witryna ma własną konfigurację hostingu.
- Każda witryna zawiera własną kolekcję treści.
- Z każdą witryną może być co najmniej jedna powiązana domena.
Skonfigurowanie wielu witryn Hosting w tym samym projekcie Firebase ułatwia udostępnianie zasobów Firebase między powiązanymi witrynami i aplikacjami. Jeśli na przykład skonfigurujesz bloga, panel administracyjny i publiczną aplikację jako osobne witryny w tym samym projekcie Firebase, wszystkie te witryny będą mogły korzystać z tej samej bazy danych użytkowników Firebase Authentication, a jednocześnie będą miały własne domeny lub treści.
Krok 1. Zaktualizuj wersję interfejsu wiersza poleceń Firebase
Uzyskaj dostęp do najnowszych funkcji Firebase Hosting przez aktualizuję do najnowszej wersji interfejsu wiersza poleceń Firebase.
Krok 2. Dodaj kolejne witryny
Dodaj więcej witryn do projektu Firebase, korzystając z jednej z tych metod:
Użyj przepływu pracy na stronie Hosting strona konsoli Firebase
Użyj polecenia interfejsu wiersza poleceń Firebase:
.firebase hosting:sites:create SITE_ID
Użyj Hostinginterfejsu API typu REST:
projects.sites.create
W przypadku każdej z tych metod musisz określić właściwość SITE_ID
, która służy do tworzenia
domyślne subdomeny witryny udostępnione przez Firebase:
SITE_ID.web.app
SITE_ID.firebaseapp.com
Ponieważ w przypadku tych adresów URL jest używany parametr SITE_ID
, identyfikator witryny zawiera:
wymagania:
- Musi to być prawidłowa etykieta nazwy hosta, co oznacza, że nie może zawierać znaków
.
,_
itp. - Może mieć nie więcej niż 30 znaków
- Musi być globalnie unikalne w obrębie Firebase
W każdej witrynie możesz też opcjonalnie dodać domeny niestandardowe, aby wyświetlać te same treści; do wielu adresów URL.
Usuwanie witryny dodatkowej
Usuń niechciane witryny z projektu Firebase, korzystając z jednej z tych opcji metody:
Użyj przepływu pracy na stronie Hosting strona konsoli Firebase
Użyj polecenia wiersza poleceń Firebase:
firebase hosting:sites:delete SITE_ID
Użyj interfejsu API REST Hosting:
projects.sites.delete
.
Pamiętaj, że nie możesz usunąć witryny domyślnej, która ma taką samą SITE_ID
jak witryna.
identyfikatora projektu Firebase.
Krok 3. Skonfiguruj cele wdrożenia w witrynach
Gdy masz wiele witryn i uruchomisz polecenia wdrażania interfejsu wiersza poleceń Firebase, wartości
Interfejs wiersza poleceń musi mieć sposób przekazywania informacji, które ustawienia należy wdrożyć w każdym
witrynie. Dzięki celom wdrożenia możesz jednoznacznie identyfikować
konkretnej witryny z TARGET_NAME
w tagu
Plik konfiguracji firebase.json
oraz w Firebasepoleceniach interfejsu wiersza poleceń w przypadku
testowania i wdrażania w witrynach.
Aby utworzyć miejsce docelowe wdrożenia i zastosować TARGET_NAME
do witryny Hosting, uruchom
to polecenie interfejsu wiersza poleceń w katalogu głównym projektu:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
Gdzie parametry:
TARGET_NAME – unikalna nazwa (określona przez Ciebie) witryny Hosting, do której wdrażasz treści.
RESOURCE_IDENTIFIER – pole
SITE_ID
dla witryny Hosting takie jak są dostępne w projekcie Firebase.
Jeśli na przykład w projekcie Firebase utworzysz 2 witryny (myapp-blog
i myapp-app
), możesz zastosować do każdej z nich unikalny identyfikator TARGET_NAME
(odpowiednio blog
i app
), wykonując te polecenia:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Ustawienia miejsc docelowych wdrożenia są przechowywane w pliku .firebaserc
w
projektu, musisz więc skonfigurować cele wdrożenia tylko raz
w projektach AI.
Krok 4. Określ konfigurację hostingu każdej witryny
Używaj pliku TARGET_NAME
witryny, gdy definiujesz jej konfigurację hostingu w pliku firebase.json
.
Jeśli plik
firebase.json
definiuje konfigurację dla wielu witryn, użyj formatu tablicy:{ "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 } ] }
Jeśli plik
firebase.json
definiuje konfigurację tylko jednej witryny, nie musisz używać formatu tablicowego:{ "hosting": { "target": "blog", "public": "dist", // ... "rewrites": [...] } }
Krok 5. Przetestuj lokalnie, wyświetl podgląd zmian i wprowadź wdrożenie w swoich witrynach
Uruchom dowolne z tych poleceń w katalogu głównym lokalnego projektu.
Polecenie | Opis |
---|---|
firebase emulators:start --only hosting |
Emuluje zawartość i konfigurację parametru Hosting domyślna witryna Hosting na serwerze lokalnym Adres URL |
firebase emulators:start --only hosting:TARGET_NAME |
Emuluje zawartość i konfigurację określonego zasobu (Hosting) Hosting witryna pod adresem URL hostowanym lokalnie |
firebase hosting:channel:deploy \ |
Wdraża zawartość i konfigurację Hosting default – witryna Hosting pod adresem URL podglądu |
firebase hosting:channel:deploy \ |
Wdraża zawartość i konfigurację Hosting określonego Hosting witryna z adresem URL podglądu |
firebase deploy --only hosting |
Wdraża zawartość i konfigurację Hosting w aktywnym kanale
z wszystkich Hosting witryn skonfigurowanych w
firebase.json
|
firebase deploy --only hosting:TARGET_NAME |
Wdraża zawartość i konfigurację Hosting w aktywnym kanale z określonej Hosting witryny |
Polecenie | Opis |
---|---|
(niezalecane; zamiast tego użyj emulators:start )firebase serve --only hosting
|
Obsługuje treść i konfigurację Hosting domyślna witryna Hosting na serwerze lokalnym Adres URL |
(niezalecane; zamiast tego użyj emulators:start )firebase serve --only hosting:TARGET_NAME
|
Udostępnia treści i konfigurację witryny Hosting pod adresem URL hostowanym lokalnie |