Obsługiwane środowiska
Pakiet Firebase JavaScript SDK jest oficjalnie obsługiwany w poniższych środowiskach.
Przeglądarki
Usługa Firebase | Edge | Firefox | Chrome, | Safari na iOS | Safari |
---|---|---|---|---|---|
Sprawdzanie aplikacji | |||||
Analytics | |||||
Uwierzytelnianie | |||||
Cloud Firestore. | (oprócz trwałości) |
(z wyjątkiem trwałości w przypadku urządzeń z systemem iOS < 10) |
|||
Funkcje w Cloud Functions | |||||
Instalacje Firebase | |||||
Komunikacja w chmurze | (Edge 17+, z wyjątkiem urządzeń mobilnych) |
||||
Cloud Storage, | |||||
Monitorowanie wydajności | |||||
Baza danych czasu rzeczywistego | |||||
Zdalna konfiguracja | |||||
Vertex AI dla Firebase |
Inne środowiska
Usługa Firebase | Reakcja natywna | Node.js | Rozszerzenia Chrome |
Kordowa |
---|---|---|---|---|
Sprawdzanie aplikacji | (korzystanie z dostawcy niestandardowego do poświadczania urządzenia natywnego) |
(korzystanie z dostawcy niestandardowego) |
||
Analytics | ||||
Uwierzytelnianie | (patrz Uwaga) |
(patrz Uwaga) |
(patrz Uwaga) |
(patrz Uwaga) |
Cloud Firestore. | (oprócz trwałości) |
(oprócz trwałości) |
||
Funkcje w Cloud Functions | ||||
Instalacje Firebase | ||||
Komunikacja w chmurze | ||||
Cloud Storage, | (z wyjątkiem przesłanych plików) |
|||
Monitorowanie wydajności | ||||
Baza danych czasu rzeczywistego | ||||
Zdalna konfiguracja | ||||
Vertex AI dla Firebase |
Polyfill
Pakiet 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 i środowiska, musisz odpowiednio załadować kod polyfill.
W sekcjach poniżej znajdziesz informacje o większości potrzebnych kodów polyfill.
Wymagane elementy polyfill
Środowiska | Polyfill |
---|---|
Safari 7, 8 i 9 | Wersja stabilna (ES) |
Węzeł < 6.5 | Wersja stabilna (ES) |
Opcjonalne elementy polyfill
Środowiska | Polyfill | usług Firebase. |
---|---|---|
|
pobieranie |
|
|
base-64 |
|
Sugerowane elementy polyfill
Polyfill | Licencja |
---|---|
Wersja stabilna ES | MIT |
pobieranie | MIT |
base-64 | MIT |
Wymagana konfiguracja Polyfill dla aplikacji React Native i Expo
W przypadku kreacji natywnych i ekspozycyjnych React, jeśli przesyłasz ciąg zakodowany w standardzie base-64, musisz wykonać te czynności:
Zainstaluj base-64 z npm:
npm install base-64
Zaimportuj plik decode
z usługi base-64
i dołącz go do zakresu globalnego jako atob
, aby umożliwić Cloud Storage dostęp do niego.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Dodawanie kodu polyfill do aplikacji
Opcja 1. (Zalecane) Użyj pakietu SDK zintegrowanego z Babel
Jeśli korzystasz z programu do tworzenia pakietów, przeprowadź integrację z Babel i @babel/preset-env, aby uzyskać kod polyfill.
Skorzystaj z interaktywnego przewodnika po konfiguracji Babel, aby dowiedzieć się, jak zintegrować Babel z usługą pakietową.
Dzięki Babel nie musisz się martwić o dokładny kod polyfill, który musisz uwzględnić. Zamiast tego musisz określić minimalną liczbę środowisk przeglądarek, które musisz obsługiwać. Babel dodaje potrzebne kody polyfill. Babel dba o to, aby wymagania dotyczące obsługi przeglądarki były zawsze spełnione, nawet jeśli Firebase lub Twój kod zaczną korzystać z nowych funkcji ES.
Adres @babel/preset-env zawiera szczegółowe informacje o dostępnych opcjach konfiguracyjnych dotyczących określania docelowych środowisk (opcja targets
) i dodawania elementów polyfill (opcja useBuiltIns
).
Opcja 2: (niezalecane) ręczne dodawanie elementów polyfill
Kody polyfill możesz dodać ręcznie za pomocą swoich ulubionych bibliotek polyfill (np. core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
udostępnia też kompleksowy plik polyfill, który możesz umieścić bezpośrednio na stronie HTML.
Ta opcja może być wygodnym sposobem zarządzania kodami polyfill, jeśli nie używasz Babel. Nie zalecamy jednak korzystania z tej kompleksowej opcji w przypadku aplikacji produkcyjnych, ponieważ prawdopodobnie będzie ona zawierać zbędne elementy polyfill, co zwiększy wagę strony, a tym samym jej czas wczytywania.