W jednym projekcie Firebase możesz skonfigurować co najmniej 1 Firebase Hosting witrynę. Ponieważ wszystkie witryny znajdują się w tym samym projekcie Firebase, mogą korzystać z innych zasobów Firebase w tym projekcie.
- Każda witryna ma własną konfigurację hostingu.
- Każda witryna zawiera własny zbiór treści.
- Każda witryna może mieć co najmniej 1 powiązaną domenę.
Konfigurując wiele Hosting witryn w tym samym projekcie Firebase, możesz łatwiej udostępniać zasoby Firebase powiązanym witrynom i aplikacjom. Jeśli na przykład skonfigurujesz bloga, panel administracyjny i aplikację publiczną jako osobne witryny w tym samym projekcie Firebase, wszystkie mogą korzystać z tej samej Firebase Authenticationbazy danych użytkowników, a jednocześnie mieć własne, niepowtarzalne domeny lub treści.
Krok 1. Zaktualizuj wersję interfejsu Firebase CLI
Aby uzyskać dostęp do najnowszych funkcji Firebase Hosting, zaktualizuj interfejs wiersza poleceń Firebase do najnowszej wersji.
Krok 2. Dodaj dodatkowe witryny
Dodaj kolejne witryny do projektu Firebase, korzystając z jednej z tych metod:
Używanie przepływu pracy na Hosting stronie konsoli Firebase
Użyj polecenia interfejsu wiersza poleceń Firebase:
firebase hosting:sites:create SITE_IDUżyj interfejsu API REST:
projects.sites.createHosting
W przypadku każdej z tych metod musisz podać SITE_ID, który służy do tworzenia domyślnych subdomen witryny udostępnianych przez Firebase:
SITE_ID.web.appSITE_ID.firebaseapp.com
Ponieważ w tych adresach URL używany jest znak SITE_ID, identyfikator witryny musi spełniać te wymagania:
- Musi to być prawidłowa etykieta nazwy hosta, co oznacza, że nie może zawierać znaków
.,_itp. - Maksymalna liczba znaków to 30
- Musi być globalnie niepowtarzalna w Firebase.
Do każdej witryny możesz też opcjonalnie dodać domeny niestandardowe, aby wyświetlać tę samą zawartość i konfigurację pod wieloma adresami URL.
Usuwanie witryny dodatkowej
Usuń niechciane witryny z projektu Firebase, korzystając z jednej z tych metod:
Używanie przepływu pracy na Hosting stronie konsoli Firebase
Użyj polecenia interfejsu wiersza poleceń Firebase:
firebase hosting:sites:delete SITE_IDUżyj interfejsu API REST:
projects.sites.deleteHosting
Pamiętaj, że nie możesz usunąć witryny domyślnej, która ma taki sam identyfikator SITE_ID jak Twój projekt Firebase.
Krok 3. Skonfiguruj miejsca docelowe wdrożenia witryn
Jeśli masz wiele witryn i uruchamiasz polecenia wdrażania interfejsu wiersza poleceń Firebase, interfejs wiersza poleceń musi mieć możliwość przekazywania informacji o tym, które ustawienia mają być wdrażane w poszczególnych witrynach. Za pomocą miejsc docelowych wdrażania możesz jednoznacznie identyfikować konkretną witrynę za pomocą TARGET_NAME w firebase.jsonpliku konfiguracyjnym i w Firebasepoleceniach interfejsu wiersza poleceń na potrzeby testowania lub 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
Parametry są dostępne w tych miejscach:
TARGET_NAME – unikalna nazwa (zdefiniowana przez Ciebie) witryny, w której wdrażasz usługę;Hosting
RESOURCE_IDENTIFIER –
SITE_IDdla Hosting witryny podanej w projekcie Firebase
Jeśli na przykład w projekcie Firebase masz 2 witryny (myapp-blog i myapp-app), możesz zastosować do każdej z nich unikalny 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 wdrażania są przechowywane w pliku .firebaserc w katalogu projektu, więc musisz je skonfigurować tylko raz na projekt.
Krok 4. Określ konfigurację hostingu dla każdej witryny
Podczas definiowania konfiguracji hostingu witryny w pliku firebase.json używaj zastosowanego TARGET_NAME witryny.
Jeśli plik
firebase.jsondefiniuje konfigurację 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.jsonokreśla konfigurację tylko jednej witryny, nie musisz używać formatu tablicy:{ "hosting": { "target": "blog", "public": "dist", // ... "rewrites": [...] } }
Krok 5. Testuj lokalnie, wyświetlaj podgląd zmian i wdrażaj je w swoich witrynach
Uruchom dowolne z tych poleceń w katalogu głównym projektu lokalnego.
| Polecenie | Opis |
|---|---|
firebase emulators:start --only hosting |
Emuluje treść i konfigurację Hosting domyślnej witryny Hosting pod lokalnie hostowanym adresem URL. |
firebase emulators:start --only hosting:TARGET_NAME |
Emuluje Hosting zawartość i konfigurację określonej Hosting witryny pod lokalnie hostowanym adresem URL. |
firebase hosting:channel:deploy \ |
Wdraża Hosting zawartość i konfigurację domyślnej witryny Hosting pod adresem URL podglądu. |
firebase hosting:channel:deploy \ |
Wdraża Hosting treść i konfigurację określonej Hosting witryny pod adresem URL podglądu. |
firebase deploy --only hosting |
Wdraża treści Hosting i konfigurację na kanale na żywo wszystkich Hosting witryn skonfigurowanych w firebase.json
|
firebase deploy --only hosting:TARGET_NAME |
Wdraża treści i konfigurację Hosting na kanale na żywo określonej Hosting witryny. |
| Polecenie | Opis |
|---|---|
(niezalecane; używaj zamiast tego emulators:start)firebase serve --only hosting
|
Wyświetla zawartość i konfigurację Hosting domyślnej witryny Hosting pod lokalnie hostowanym adresem URL. |
(niezalecane; używaj zamiast tego emulators:start)firebase serve --only hosting:TARGET_NAME
|
Wyświetla Hosting zawartość i konfigurację określonej Hosting witryny pod lokalnie hostowanym adresem URL. |