Firebase JavaScript SDK 支援的環境

支持的環境

以下環境正式支持 Firebase JavaScript SDK。

瀏覽器

火力地堡產品邊緣火狐鉻合金蘋果瀏覽器蘋果瀏覽器
應用檢查
分析
驗證
雲端 Firestore
(除了
堅持)

(除了
堅持
如果 iOS < 10)
雲端功能
Firebase 安裝
雲消息
(Edge 17+,手機除外)
雲儲存
性能監控
實時數據庫
遠程配置

其他環境

火力地堡產品反應本機節點.js鉻合金
擴展
科爾多瓦
應用檢查
(使用自定義提供程序進行本機設備證明)

(使用自定義提供程序)
分析
驗證
(見

(見

(見

(見
雲端 Firestore
(除了
堅持)

(除了
堅持)
雲端功能
Firebase 安裝
雲消息
雲儲存
(除了
上傳)
性能監控
實時數據庫
遠程配置

Polyfills

Firebase JavaScript SDK 建立在網絡平台的最新標準之上。一些較舊的瀏覽器和 JavaScript 環境不支持 Firebase 所需的所有功能。如果您必須支持這些瀏覽器/環境,那麼您需要相應地加載 polyfill。

以下部分列出了您可能需要的大部分 polyfill。

所需的 polyfill

環境Polyfills
野生動物園 7 & 8 & 9穩定版
節點 < 6.5穩定版

可選的 polyfill

環境Polyfills Firebase 產品
  • 節點
  • 野生動物園 < 10.1
  • iOS < 10.3
拿來
  • 雲端功能
  • 性能監控
  • React Native 和 Expo
base-64
  • 雲儲存

建議的 polyfill

Polyfills執照
穩定版麻省理工學院
拿來麻省理工學院
base-64麻省理工學院

React Native 和 Expo 所需的 Polyfill 設置

對於 React Native 和 Expo,如果您要上傳 base-64 編碼的字符串,則需要執行以下操作:

從 npm 安裝base-64

npm install base-64

base-64導入decode並將其作為atob附加到全局範圍,以便 Cloud Storage 可以訪問它。

import { decode } from 'base-64';

if(typeof atob === 'undefined') {
  global.atob = decode;
}

在您的應用程序中添加 polyfill

選項 1 :(推薦)使用與 Babel 集成的捆綁器

如果您使用的是捆綁器,請與Babel@babel/preset-env集成以獲取 polyfill。

使用 Babel 的交互式設置指南來了解如何將 Babel 與您的捆綁器集成。

使用 Babel,您無需擔心要包含的確切 polyfill。相反,您指定需要支持的最小瀏覽器環境。然後 Babel 會為你添加必要的 polyfill。 Babel 確保始終滿足您對瀏覽器支持的要求,即使 Firebase 或您自己的代碼開始使用新的 ES 功能。

@babel/preset-env有關於指定環境目標(選項targets )和添加 polyfills(選項useBuiltIns )的可用配置選項的詳細信息。

選項 2 :(不推薦)手動添加 polyfill

您可以使用您最喜歡的 polyfill 庫(例如core-js )手動添加 polyfill。

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

core-js還提供了一個一體化的 polyfill 文件,您可以直接將其包含在 HTML 頁面中。

如果您不使用 Babel,此選項可能是管理 polyfill 的便捷方式。但是,我們不建議將此一體化選項用於生產應用程序,因為它可能包含不必要的 polyfill,這會增加頁面重量,從而增加頁面加載時間。