Ambienti supportati
L'SDK JavaScript Firebase è ufficialmente supportato nei seguenti ambienti.
Browser
Prodotto Firebase | Bordo | Firefox | Cromo | iOS Safari | Safari |
---|---|---|---|---|---|
Analitica | |||||
Autenticazione | |||||
Cloud Firestore | (tranne persistenza) | (tranne persistenza se iOS < 10) | |||
Funzioni cloud | |||||
Installazioni Firebase | |||||
Messaggistica cloud | (Edge 17+, eccetto dispositivi mobili) | ||||
Archiviazione su cloud | |||||
Monitoraggio delle prestazioni | |||||
Database in tempo reale | |||||
Configurazione remota |
Altri ambienti
Prodotto Firebase | Reagire nativo | Node.js | Cromo Estensioni | Cordova |
---|---|---|---|---|
Analitica | ||||
Autenticazione | (vedi Nota ) | (vedi Nota ) | (vedi Nota ) | (vedi Nota ) |
Cloud Firestore | (tranne persistenza) | (tranne persistenza) | ||
Funzioni cloud | ||||
Installazioni Firebase | ||||
Messaggistica cloud | ||||
Archiviazione su cloud | (tranne caricamenti) | |||
Monitoraggio delle prestazioni | ||||
Database in tempo reale | ||||
Configurazione remota |
Polyfill
L'SDK JavaScript di Firebase è basato sugli ultimi standard della piattaforma web. Alcuni browser e ambienti JavaScript meno recenti non supportano tutte le funzionalità richieste da Firebase. Se devi supportare questi browser/ambienti, devi caricare i polyfill di conseguenza.
Le sezioni seguenti identificano la maggior parte dei polyfill di cui potresti aver bisogno.
Polyfill richiesti
Ambienti | Polyfill |
---|---|
Safari 7 e 8 e 9 | ES stabile |
Nodo < 6.5 | ES stabile |
Polyfill opzionali
Ambienti | Polyfill | Prodotti Firebase |
---|---|---|
| andare a prendere |
|
| base-64 |
|
Polyfill suggeriti
Polyfill | Licenza |
---|---|
ES stabile | MIT |
andare a prendere | MIT |
base-64 | MIT |
Configurazione Polyfill richiesta per React Native ed Expo
Per React Native ed Expo, se stai caricando una stringa codificata in base 64, devi effettuare le seguenti operazioni:
Installa base-64 da npm:
npm install base-64
Importa la decode
da base-64
e allegala all'ambito globale come atob
in modo che Cloud Storage possa accedervi.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Aggiungi polyfill nella tua applicazione
Opzione 1 : (consigliato) Usa bundler integrato con Babel
Se stai usando un bundler, integra con Babel e @babel/preset-env per ottenere polyfill.
Usa la guida all'installazione interattiva di Babel per imparare come integrare Babel con il tuo bundler.
Con Babel, non devi preoccuparti dei polyfill esatti da includere. Invece, specifichi gli ambienti browser minimi che devi supportare. Babel aggiunge quindi i polyfill necessari per te. Babel garantisce che i tuoi requisiti per il supporto del browser siano sempre soddisfatti, anche se Firebase o il tuo codice iniziano a utilizzare le nuove funzionalità di ES.
@babel/preset-env ha informazioni dettagliate sulle opzioni di configurazione disponibili per specificare gli obiettivi dell'ambiente (opzione targets
) e aggiungere polyfill (opzione useBuiltIns
).
Opzione 2 : (non consigliato) Aggiungi i polyfill manualmente
Puoi aggiungere i polyfill manualmente usando le tue librerie di polyfill preferite (ad esempio, core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
fornisce anche un file polyfill all-in-one che puoi includere direttamente nella pagina HTML.
Questa opzione può essere un modo conveniente per gestire i polyfill se non usi Babel. Tuttavia, non consigliamo questa opzione all-in-one per le app di produzione poiché probabilmente includerà polyfill non necessari, il che aumenta il peso della pagina e quindi il tempo di caricamento della pagina.