Obsługiwane środowiska
Pakiet Firebase JavaScript SDK jest oficjalnie obsługiwany w następujących środowiskach.
Przeglądarki
Produkt Firebase | Krawędź | Firefoxa | Chrom | Safari na iOS | Safari |
---|---|---|---|---|---|
Sprawdź aplikację | |||||
Analityka | |||||
Uwierzytelnianie | |||||
Cloud Firestore | (z wyjątkiem trwałość) | (z wyjątkiem trwałość jeśli iOS < 10) | |||
Funkcje chmury | |||||
Instalacje Firebase | |||||
Wiadomości w chmurze | (Edge 17+, z wyjątkiem urządzeń mobilnych) | ||||
Magazyn w chmurze | |||||
Monitoring wydajności | |||||
Baza danych czasu rzeczywistego | |||||
Zdalna konfiguracja |
Inne środowiska
Produkt Firebase | Reaguj natywnie | Node.js | Chrom Rozszerzenia | Kordowa |
---|---|---|---|---|
Sprawdź aplikację | (korzystanie z niestandardowego dostawcy do przeprowadzania atestacji urządzeń natywnych) | (przy użyciu niestandardowego dostawcy ) | ||
Analityka | ||||
Uwierzytelnianie | (patrz uwaga ) | (patrz uwaga ) | (patrz uwaga ) | (patrz uwaga ) |
Cloud Firestore | (z wyjątkiem trwałość) | (z wyjątkiem trwałość) | ||
Funkcje chmury | ||||
Instalacje Firebase | ||||
Wiadomości w chmurze | ||||
Magazyn w chmurze | (z wyjątkiem przesłane) | |||
Monitoring wydajności | ||||
Baza danych czasu rzeczywistego | ||||
Zdalna konfiguracja |
Wypełnienia
Zestaw Firebase JavaScript SDK jest oparty na najnowszych standardach platformy internetowej. Niektóre starsze przeglądarki i środowiska JavaScript nie obsługują wszystkich funkcji wymaganych przez Firebase. Jeśli musisz obsługiwać te przeglądarki/środowiska, musisz odpowiednio załadować polyfills.
W poniższych sekcjach opisano większość wypełniaczy, których możesz potrzebować.
Wymagane wypełnienia
Środowiska | Wypełnienia |
---|---|
Safari 7, 8 i 9 | ES stabilny |
Węzeł < 6,5 | ES stabilny |
Opcjonalne poliwypełnienia
Środowiska | Wypełnienia | Produkty Firebase |
---|---|---|
| aportować |
|
| podstawa-64 |
|
Sugerowane wypełnienia
Wypełnienia | Licencja |
---|---|
ES stabilny | MIT |
aportować | MIT |
podstawa-64 | MIT |
Wymagana konfiguracja Polyfill dla React Native i Expo
W przypadku React Native i Expo, jeśli przesyłasz ciąg zakodowany w formacie base-64, musisz wykonać następujące czynności:
Zainstaluj base-64 z npm:
npm install base-64
Zaimportuj decode
z base-64
i dołącz je do zakresu globalnego jako atob
, aby Cloud Storage miał do niego dostęp.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Dodaj polyfills w swojej aplikacji
Opcja 1 : (zalecane) Użyj pakietu zintegrowanego z Babel
Jeśli używasz pakietu, zintegruj go z Babel i @babel/preset-env, aby uzyskać polyfills.
Skorzystaj z interaktywnego przewodnika konfiguracji Babel, aby dowiedzieć się, jak zintegrować Babel z pakietem.
Dzięki Babel nie musisz się martwić o to, jakie dokładnie pola wypełnić. Zamiast tego określasz minimalne środowiska przeglądarek, które musisz obsługiwać. Następnie Babel dodaje dla Ciebie niezbędne wypełnienia. Babel zapewnia, że Twoje wymagania dotyczące obsługi przeglądarki są zawsze spełnione, nawet jeśli Firebase lub Twój własny kod zacznie korzystać z nowych funkcji ES.
@babel/preset-env zawiera szczegółowe informacje o dostępnych opcjach konfiguracyjnych do określania celów środowiskowych (opcja targets
) i dodawania polyfills (opcja useBuiltIns
).
Opcja 2 : (niezalecana) Dodaj polifill ręcznie
Możesz dodawać wypełniacze ręcznie, używając swoich ulubionych bibliotek wypełniających (na przykład core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
zapewnia również uniwersalny plik polyfill , który można bezpośrednio umieścić na stronie HTML.
Ta opcja może być wygodnym sposobem zarządzania polyfillami, jeśli nie używasz Babel. Jednak nie zalecamy tej opcji „wszystko w jednym” dla aplikacji produkcyjnych, ponieważ prawdopodobnie będzie ona zawierać niepotrzebne wypełniacze, które zwiększają wagę strony, a tym samym czas ładowania strony.