Firebase JavaScript SDK 支援的環境

支援的環境

Firebase JavaScript SDK 在以下環境中得到正式支援。

瀏覽器

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

(除了
堅持
如果 iOS < 10)
雲端功能
Firebase 安裝
雲端訊息傳遞
(Edge 17+,行動裝置除外)
雲端儲存
效能監控
即時資料庫
遠端配置

其他環境

Firebase 產品反應本機Node.js鉻合金
擴充
科爾多瓦
應用程式檢查
(使用自訂提供者進行本機設備證明)

(使用自訂提供者
分析
驗證
(看註釋

(看註釋

(看註釋

(看註釋
雲端Firestore
(除了
堅持)

(除了
堅持)
雲端功能
Firebase 安裝
雲端訊息傳遞
雲端儲存
(除了
上傳)
效能監控
即時資料庫
遠端配置

聚合物填料

Firebase JavaScript SDK 是基於網路平台的最新標準建置。一些較舊的瀏覽器和 JavaScript 環境不支援 Firebase 所需的所有功能。如果您必須支援這些瀏覽器/環境,那麼您需要相應地載入polyfill。

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

所需的 Polyfill

環境聚合物填料
野生動物園 7 & 8 & 9 ES穩定
節點 < 6.5 ES穩定

可選的 Polyfill

環境聚合物填料Firebase 產品
  • 節點
  • Safari < 10.1
  • iOS < 10.3
拿來
  • 雲端功能
  • 效能監控
  • React Native 和 Expo
64 進位
  • 雲端儲存

建議的 Polyfill

聚合物填料執照
ES穩定麻省理工學院
拿來麻省理工學院
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 的便捷方法。但是,我們不建議在生產應用程式中使用這種一體化選項,因為它可能會包含不必要的填充,這會增加頁面重量,從而增加頁面載入時間。