Firebase JavaScript SDK 支援的環境

支援的環境

Firebase JavaScript SDK 正式支援下列環境。

瀏覽器

Firebase 產品 Edge Firefox Chrome iOS Safari Safari
App Check
Analytics
Authentication
Cloud Firestore
(保留
除外)

(如果 iOS 小於 10,則
保留
除外)
Cloud Functions
安裝次數:Firebase
Cloud Messaging
(Edge 17+,行動裝置除外)
Cloud Storage
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase

其他環境

Firebase 產品 React Native Node.js Chrome
擴充功能
哥多華
App Check
(使用自訂提供者執行原生裝置認證)

(使用自訂提供者)
Analytics
Authentication
(請參閱附註)

(請參閱附註)

(請參閱附註)

(請參閱附註)
Cloud Firestore
(保留
除外)

(保留
除外)
Cloud Functions
安裝次數:Firebase
Cloud Messaging
Cloud Storage
(上傳項目除外
)
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase

聚合物

Firebase JavaScript SDK 是以網路平台的最新標準打造而成。只有部分通知 較舊的瀏覽器和 JavaScript 環境不支援部分功能 所需資料。如果您必須支援這些瀏覽器/環境, 並據此載入 polyfill。

以下各節說明您可能會需要的多數 polyfill。

必要的 polyfill

環境 聚合物
Safari 7 和8 &9 分 西班牙穩定版
節點 <6.5 西班牙穩定版

選用的 polyfill

環境 聚合物 Firebase 產品
  • 節點
  • Safari <10.1 版
  • iOS10.3 分
擷取
  • Cloud Functions
  • Performance Monitoring
  • React Native and Expo (反應 Native 和展覽會)
樣本數 - 64
  • Cloud Storage

建議的 polyfill

聚合物 授權
西班牙 穩定版 麻省理工學院
擷取 麻省理工學院
樣本數 - 64 麻省理工學院

React Native 和 Expo 的必要 Polyfill 設定

如果您上傳的是 Base-64 編碼字串,就必須執行以下操作:針對 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 整合的 Bundler

如果您使用套裝組合,請將 Babel 與 在 @babel/preset-env 中,取得 polyfill。

參閱 Babel 的互動式設定指南瞭解詳情 如何整合 Babel 與套裝組合者。

有了 Babel,您不必擔心要納入的確切 Polyfill。 相反地,您可以指定要支援的最低瀏覽器環境。 接著,Babel 已為您新增必要的 polyfill。Babel 確保 即使 Firebase 或您自己,也一律符合瀏覽器支援需求 開始使用新的 ES 功能。

@babel/preset-env 提供了詳細資料 關於指定環境的可用設定選項相關資訊 目標 (選項 targets) 並新增 polyfill (選項 useBuiltIns)。

方法 2(不建議) 手動新增 polyfill

您可以使用自己偏好的 polyfill 程式庫,手動添加 polyfill (適用於 例如:core-js)。

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

core-js 也提供 全方位 polyfill 檔案 讓您可直接納入 HTML 網頁

如果不使用,這是管理 polyfill 的簡便方法 Babel。不過,我們不建議在實際工作環境中使用這個全方位選項 應用程式,因為此元件可能會包含不必要的 polyfill,這會增加網頁 進而降低網頁載入時間