支援的環境
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 產品 |
---|---|---|
|
擷取 |
|
|
樣本數 - 64 |
|
建議的 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,這會增加網頁 進而降低網頁載入時間