Hosting Firebase rezerwuje adresy URL w Twojej witrynie rozpoczynające się od /__
. Ten
zarezerwowana przestrzeń nazw ułatwia korzystanie z innych usług Firebase razem z
Hosting Firebase.
Te zarezerwowane adresy URL będą dostępne zarówno po wdrożeniu aplikacji w Firebase,
(firebase deploy
) lub po uruchomieniu aplikacji na serwerze lokalnym
(firebase serve
).
Dodawanie skryptów do zarezerwowanych adresów URL
Ponieważ po wdrożeniu Hosting Firebase jest obsługiwany przez HTTP/2, możesz zwiększyć wydajność przez wczytywanie plików z tego samego źródła. Obsługa Hostingu Firebase pakietu SDK Firebase JavaScript w wersji 8 ze specjalnych adresów URL w następujący sposób:
/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js
Zdecydowanie zalecamy wczytywanie tylko tych bibliotek,
których używasz w aplikacji. Aby na przykład uwzględnić tylko Uwierzytelnianie i
Cloud Firestore, dodaj te skrypty na dole dokumentu <body>
, ale zanim skorzystasz z usług Firebase:
<body>
<!-- Insert these scripts at the bottom of the HTML, but before you use any Firebase services -->
<!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
<script src="/__/firebase/8.10.1/firebase-app.js"></script>
<!-- Add Firebase products that you want to use -->
<script src="/__/firebase/8.10.1/firebase-auth.js"></script>
<script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
</body>
Automatyczna konfiguracja pakietu SDK
Automatyczna konfiguracja pakietu SDK ułatwia zarządzanie wieloma środowiskami (np. jako programistyczne, przejściowe i produkcyjne) z poziomu jednej bazy kodu. Bazując na zarezerwowany adres URL hostingu, można wdrożyć ten sam kod w wielu Firebase. w projektach AI.
Oprócz hostowania samych pakietów SDK zarezerwowana przestrzeń nazw zapewnia też całą konfigurację niezbędną do zainicjowania pakietu SDK dla Firebase powiązanego z witryną Hostingu. Ta konfiguracja Firebase Inicjowanie pakietu SDK jest dostarczane za pomocą skryptu, który można bezpośrednio uwzględnić:
<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>
Gdy wdrażasz tę aplikację w Firebase lub testujesz ją lokalnie, ten skrypt automatycznie konfiguruje pakiet SDK Firebase JavaScript dla platformy aktywny projekt Firebase i inicjuje pakiet SDK.
Jeśli wolisz samodzielnie kontrolować inicjalizację, konfiguracja Firebase wartości są też dostępne w formacie JSON:
fetch('/__/firebase/init.json').then(async response => {
firebase.initializeApp(await response.json());
});
Dostępne pakiety SDK Firebase JS (z zarezerwowanych adresów URL w Hostingu)
.Usługa Firebase | Dokumentacja biblioteki (zarezerwowany adres URL) |
---|---|
Podstawowe Firebase (wymagane) |
<script src="/__/firebase/8.10.1/firebase-app.js"></script> |
Analytics | <script src="/__/firebase/8.10.1/firebase-analytics.js"></script> |
Sprawdzanie aplikacji | <script src="/__/firebase/8.10.1/firebase-app-check.js"></script> |
Uwierzytelnianie | <script src="/__/firebase/8.10.1/firebase-auth.js"></script> |
Cloud Firestore | <script src="/__/firebase/8.10.1/firebase-firestore.js"></script> |
Pakiet SDK klienta Cloud Functions dla Firebase | <script src="/__/firebase/8.10.1/firebase-functions.js"></script> |
Instalacje Firebase | <script src="/__/firebase/8.10.1/firebase-installations.js"></script> |
Komunikacja w chmurze | <script src="/__/firebase/8.10.1/firebase-messaging.js"></script> Aby zoptymalizować korzystanie z Komunikacji w chmurze, dodaj również pakiet SDK Firebase dla Analytics. |
Cloud Storage | <script src="/__/firebase/8.10.1/firebase-storage.js"></script> |
Monitorowanie wydajności
(wersja beta) |
<script src="/__/firebase/8.10.1/firebase-performance.js"></script> |
Baza danych czasu rzeczywistego | <script src="/__/firebase/8.10.1/firebase-database.js"></script> |
Zdalna konfiguracja
(wersja beta) |
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script> Aby zapewnić optymalne działanie Zdalnej konfiguracji, dodaj również pakiet SDK Firebase dla Analytics. |
Pakiet SDK Firebase JavaScript (cały pakiet SDK) |
<script src="/__/firebase/8.10.1/firebase.js"></script> |
Pomoc dotycząca uwierzytelniania
Uwierzytelnianie Firebase używa zarezerwowanego przestrzeń nazw, udostępniając specjalny kod JavaScript i kod HTML do ukończenia uwierzytelniania z użyciem protokołu OAuth. Dzięki temu każdy projekt Firebase może mieć unikalny identyfikator subdomenę Firebase, która zwiększa bezpieczeństwo Uwierzytelniania Firebase.
Dzięki temu możesz też używać własnej domeny w authDomain
opcji firebase.initializeApp()
. Jeśli
skonfigurować domenę niestandardową
dla Hostingu Firebase, możesz też wybrać tę domenę niestandardową (zamiast
z subdomeny web.app
lub firebaseapp.com
) podczas inicjowania Firebase.
Pakiety SDK. Zobacz
Sprawdzone metody korzystania z logowania signInWithRedirect
, aby dowiedzieć się więcej o korzystaniu z domeny niestandardowej.
Zarezerwowane adresy URL i mechanizmy Service Worker
Jeśli tworzysz progresywną aplikację internetową (PWA), możesz utworzyć usługę instancja robocza z „zastępczą nawigacją” i domyślnie renderuje określony URL jeśli nie pasuje do listy elementów w pamięci podręcznej.
Jeśli używasz parametru sw-precache możesz dodać ustawienie zastępczej białej listy nawigacji, które wyklucza zarezerwowana przestrzeń nazw:
{
navigateFallbackWhitelist: [/^(?!\/__).*/]
}
Ogólnie pamiętaj, że przestrzeń nazw podwójnego podkreślenia jest zarezerwowana dla korzystania z Firebase i że nie należy przechwytywać tych żądań w swojej usłudze. .