Entornos admitidos
El SDK de JavaScript de Firebase es oficialmente compatible con los siguientes entornos.
navegadores
producto base de fuego | Borde | Firefox | Cromo | iOSSafari | Safari |
---|---|---|---|---|---|
Analítica | |||||
Autenticación | |||||
Tienda de fuego en la nube | (excepto persistencia) | (excepto persistencia si iOS < 10) | |||
Funciones en la nube | |||||
Instalaciones de base de fuego | |||||
Mensajería en la nube | (Edge 17+, excepto móvil) | ||||
Almacenamiento en la nube | |||||
Supervisión del rendimiento | |||||
Base de datos en tiempo real | |||||
Configuración remota |
Otros entornos
producto base de fuego | reaccionar nativo | Nodo.js | Cromo Extensiones | Córdoba |
---|---|---|---|---|
Analítica | ||||
Autenticación | (ver nota ) | (ver nota ) | (ver nota ) | (ver nota ) |
Tienda de fuego en la nube | (excepto persistencia) | (excepto persistencia) | ||
Funciones en la nube | ||||
Instalaciones de base de fuego | ||||
Mensajería en la nube | ||||
Almacenamiento en la nube | (excepto cargas) | |||
Supervisión del rendimiento | ||||
Base de datos en tiempo real | ||||
Configuración remota |
polirellenos
El SDK de JavaScript de Firebase se basa en los últimos estándares de la plataforma web. Algunos navegadores antiguos y entornos de JavaScript no son compatibles con todas las funciones que requiere Firebase. Si debe admitir estos navegadores/entornos, debe cargar los polyfills en consecuencia.
Las siguientes secciones identifican la mayoría de los polyfills que podría necesitar.
Polyfills requeridos
Entornos | polirellenos |
---|---|
Safari 7 y 8 y 9 | ES estable |
Nodo < 6.5 | ES estable |
Rellenos de polietileno opcionales
Entornos | polirellenos | Productos de base de fuego |
---|---|---|
| buscar |
|
| base-64 |
|
Polyfills sugeridos
polirellenos | Licencia |
---|---|
ES estable | MIT |
buscar | MIT |
base-64 | MIT |
Configuración de Polyfill requerida para React Native y Expo
Para React Native y Expo, si está cargando una cadena codificada en base 64, debe hacer lo siguiente:
Instale base-64 desde npm:
npm install base-64
Importe la decode
desde base-64
y adjúntela al alcance global como atob
para que Cloud Storage pueda acceder a ella.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Agregue polyfills en su aplicación
Opción 1 : (Recomendado) Usar el paquete integrado con Babel
Si está utilizando un paquete, intégrelo con Babel y @babel/preset-env para obtener polyfills.
Utilice la guía de configuración interactiva de Babel para aprender a integrar Babel con su paquete.
Con Babel, no necesita preocuparse por los polyfills exactos que debe incluir. En su lugar, especifica los entornos de navegador mínimos que necesita admitir. Babel luego agrega los polyfills necesarios para usted. Babel garantiza que siempre se cumplan sus requisitos de compatibilidad con el navegador, incluso si Firebase o su propio código comienzan a usar las nuevas funciones de ES.
@babel/preset-env tiene información detallada sobre las opciones de configuración disponibles para especificar objetivos de entorno (opción de targets
) y agregar polyfills (opción useBuiltIns
).
Opción 2 : (No recomendada) Agregar polyfills manualmente
Puede agregar polyfills manualmente usando sus bibliotecas de polyfill favoritas (por ejemplo, core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
también proporciona un archivo polyfill todo en uno que puede incluir directamente en la página HTML.
Esta opción puede ser una forma conveniente de administrar polyfills si no usa Babel. Sin embargo, no recomendamos esta opción todo en uno para las aplicaciones de producción , ya que probablemente incluirá rellenos polifónicos innecesarios, lo que aumenta el peso de la página y, por lo tanto, el tiempo de carga de la página.