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ć jedną lub więcej powiązanych 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 korzystać z 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 stronie Hosting w konsoli Firebase
Użyj polecenia interfejsu wiersza poleceń Firebase:
firebase hosting:sites:create SITE_ID
Użyj Hostinginterfejsu API REST:
projects.sites.create
W przypadku każdej z tych metod określisz SITE_ID
, który będzie używany do tworzenia domyślnych subdomen witryny udostępnianych przez Firebase:
SITE_ID.web.app
SITE_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 stronie Hosting w konsoli Firebase
Użyj polecenia interfejsu wiersza poleceń Firebase:
firebase hosting:sites:delete SITE_ID
Użyj Hostinginterfejsu API REST:
projects.sites.delete
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 kilka witryn i uruchamiasz polecenia wdrażania interfejsu wiersza poleceń Firebase CLI, 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.json
pliku 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) Hostingwitryny, w której wdrażasz aplikację.
RESOURCE_IDENTIFIER –
SITE_ID
dla 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 identyfikatora TARGET_NAME
.
Jeśli plik
firebase.json
określa 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.json
okreś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 żywoHosting określonej 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. |