Ir a la consola

Entornos compatibles para el SDK de Firebase JavaScript

Entornos compatibles

El SDK de Firebase JavaScript es compatible oficialmente en los siguientes entornos.

Authentication Realtime Database Cloud Messaging Cloud Storage Cloud Firestore Performance Monitoring Cloud Functions
IE 11
(excepto
persistencia)
Edge
(Edge 17 y versiones posteriores)

(excepto
persistencia)
Firefox
Chrome
Safari iOS
(excepto
persistencia
si las versiones son anteriores a iOS 10)
Safari
React Native
(consulta la nota)

(excepto
cargas)

(excepto
persistencia)
Node.js
(consulta la nota)

(excepto
persistencia)
Extensiones de Chrome
(consulta la nota)
Cordova
(consulta la nota)

Polyfills

El SDK de Firebase JavaScript se compiló según los estándares más recientes de la plataforma web. Algunos entornos de JavaScript y navegadores más antiguos no son compatibles con todas las funciones que requiere Firebase. Tendrás que cargar polyfills según corresponda si necesitas admitir estos entornos o navegadores.

En las siguientes secciones, se identifica la mayoría de los polyfills que podrías necesitar.

Polyfills necesarios

Entornos Polyfills
IE 11 ES Stable
Safari 7, 8 y 9 ES Stable
Versiones anteriores a Node 6.5 ES Stable

Polyfills opcionales

Entornos Polyfills Productos de Firebase
  • IE 11
  • Node
  • Versiones anteriores a Safari 10.1
  • Versiones anteriores a iOS 10.3
fetch
  • Cloud Functions
  • Performance Monitoring

Polyfills recomendados

Polyfills Licencia
ES Stable MIT
fetch MIT

Agrega polyfills en tu aplicación

Opción 1: Usa un agrupador integrado en Babel (recomendado)

Si usas un agrupador, intégralo en Babel y @babel/preset-env para obtener polyfills.

Para obtener información sobre cómo integrar Babel en tu integrador, usa la guía de configuración interactiva de Babel.

Con Babel, no tienes que preocuparte de los polyfills exactos que debes incluir. Basta con que especifiques los entornos de navegador mínimos que quieres admitir, y Babel agregará los polyfills necesarios. Además, la herramienta garantiza que siempre se cumplan los requisitos de compatibilidad con navegadores, incluso si Firebase o tu propio código comienza a usar funciones de ES nuevas.

@babel/preset-env ofrece información detallada sobre las opciones de configuración disponibles para especificar objetivos de entorno (opción targets) y agregar polyfills (opción useBuiltIns).

Opción 2: Agrega polyfills manualmente (no recomendado)

Si usas tus bibliotecas de polyfills favoritas (por ejemplo, core-js), podrás agregar polyfills de forma manual.

import 'core-js/stable'
import 'cross-fetch/polyfill';

core-js también ofrece un archivo de polyfills todo en uno que puedes agregar directamente en la página HTML.

Si no usas Babel, esta es una opción conveniente para administrar polyfills. Sin embargo, no recomendamos esta opción de todo en uno para las apps de producción, ya que podrían incluirse polyfills innecesarios y aumentar el peso y el tiempo de carga de la página.