Obsługiwane środowiska dla pakietu Firebase JavaScript SDK

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
  • Węzeł
  • Safari < 10.1
  • iOS < 10.3
aportować
  • Funkcje chmury
  • Monitoring wydajności
  • React Native i Expo
podstawa-64
  • Magazyn w chmurze

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.