Ambienti supportati per Firebase JavaScript SDK

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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
  • Nodo
  • Safari < 10.1
  • iOS < 10.3
andare a prendere
  • Funzioni cloud
  • Monitoraggio delle prestazioni
  • Reagire Native ed Expo
base-64
  • Archiviazione su cloud

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.