Ambientes compatíveis com o SDK JavaScript do Firebase

Ambientes compatíveis

O SDK do Firebase para JavaScript é oficialmente compatível com os ambientes a seguir.

Navegadores

Produto Firebase Beira Raposa de fogo cromada iOS Safari Safári
Análise
Autenticação
Cloud Firestore
(exceto
persistência)

(exceto
persistência
se iOS < 10)
Funções de nuvem
Mensagens na nuvem
(Edge 17+, exceto celular)
Armazenamento na núvem
Monitoramento de desempenho
Banco de dados em tempo real
Configuração remota

Outros ambientes

Produto Firebase Reagir nativo Node.js cromada
Extensões
Córdoba
Análise
Autenticação
(ver Nota )

(ver Nota )

(ver Nota )

(ver Nota )
Cloud Firestore
(exceto
persistência)

(exceto
persistência)
Funções de nuvem
Mensagens na nuvem
Armazenamento na núvem
(exceto
uploads)
Monitoramento de desempenho
Banco de dados em tempo real
Configuração remota

Polyfills

O SDK do Firebase JavaScript foi desenvolvido com os padrões mais recentes da plataforma da Web. Alguns navegadores e ambientes JavaScript mais antigos não são compatíveis com todos os recursos exigidos pelo Firebase. Se você precisar oferecer suporte a esses navegadores/ambientes, precisará carregar polyfills de acordo.

As seções abaixo identificam a maioria dos polyfills que você pode precisar.

Polyfills obrigatórios

Ambientes Polyfills
Safari 7, 8 e 9 ES Estável
Nó < 6,5 ES Estável

Polyfills opcionais

Ambientes Polyfills Produtos do Firebase
  • Safári < 10.1
  • iOS < 10.3
buscar
  • Funções de nuvem
  • Monitoramento de desempenho

Polyfills sugeridos

Polyfills Licença
ES Estável MIT
buscar MIT

Adicione polyfills em seu aplicativo

Opção 1 : (Recomendado) Use o bundler integrado ao Babel

Se você estiver usando um bundler, integre com Babel e @babel/preset-env para obter polyfills.

Use o guia de configuração interativo do Babel para aprender como integrar o Babel ao seu bundler.

Com o Babel, você não precisa se preocupar com os polyfills exatos a serem incluídos. Em vez disso, você especifica os ambientes de navegador mínimos aos quais precisa dar suporte. O Babel então adiciona os polyfills necessários para você. O Babel garante que seus requisitos de suporte ao navegador sejam sempre atendidos, mesmo que o Firebase ou seu próprio código comece a usar novos recursos do ES.

@babel/preset-env tem informações detalhadas sobre as opções de configuração disponíveis para especificar destinos de ambiente (option targets ) e adicionar polyfills (opção useBuiltIns ).

Opção 2 : (não recomendado) adicionar polyfills manualmente

Você pode adicionar polyfills manualmente usando suas bibliotecas polyfill favoritas (por exemplo, core-js ).

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

core-js também fornece um arquivo polyfill completo que você pode incluir diretamente na página HTML.

Esta opção pode ser uma maneira conveniente de gerenciar polyfills se você não usar o Babel. No entanto, não recomendamos essa opção completa para aplicativos de produção , pois provavelmente incluirá polyfills desnecessários, o que aumenta o peso da página e, portanto, o tempo de carregamento da página.