Các môi trường được hỗ trợ cho Firebase JavaScript SDK

Môi trường được hỗ trợ

Firebase JavaScript SDK chính thức được hỗ trợ trong các môi trường sau.

Trình duyệt

Sản phẩm Firebase Edge Firefox Chrome Safari trên iOS Safari
Kiểm tra ứng dụng
Số liệu phân tích
Xác thực
Cloud Firestore
(trừ
vĩnh viễn)

(trừ trường hợp
lưu trữ
nếu iOS < 10)
Chức năng đám mây
Cài đặt Firebase
Giải pháp gửi thông báo qua đám mây
(Edge 17 trở lên, ngoại trừ thiết bị di động)
Bộ nhớ trên đám mây
Giám sát hiệu suất
Cơ sở dữ liệu theo thời gian thực
Cấu hình từ xa
Vertex AI cho Firebase

Các môi trường khác

Sản phẩm Firebase Phản ứng gốc Node.js Tiện ích
Chrome
Cordova
Kiểm tra ứng dụng
(sử dụng một nhà cung cấp tuỳ chỉnh để chứng thực thiết bị gốc)

(sử dụng nhà cung cấp tuỳ chỉnh)
Số liệu phân tích
Xác thực
(xem Lưu ý)

(xem Lưu ý)

(xem Lưu ý)

(xem Lưu ý)
Cloud Firestore
(trừ
vĩnh viễn)

(trừ
vĩnh viễn)
Chức năng đám mây
Cài đặt Firebase
Giải pháp gửi thông báo qua đám mây
Bộ nhớ trên đám mây
(trừ
video tải lên)
Giám sát hiệu suất
Cơ sở dữ liệu theo thời gian thực
Cấu hình từ xa
Vertex AI cho Firebase

Polyfill (polyfill)

Firebase JavaScript SDK được xây dựng dựa trên các tiêu chuẩn mới nhất của nền tảng web. Một số trình duyệt và môi trường JavaScript cũ không hỗ trợ tất cả các tính năng mà Firebase yêu cầu. Nếu phải hỗ trợ các trình duyệt/môi trường này, bạn cần tải các tệp polyfill tương ứng.

Các phần dưới đây xác định hầu hết các loại polyfill mà bạn có thể cần.

Đoạn polyfill bắt buộc

Môi trường Polyfill
Safari 7, 8 và 9 Phiên bản ổn định cho ES
Nút < 6.5 Phiên bản ổn định cho ES

Chất liệu polyfill không bắt buộc

Môi trường Polyfill Các sản phẩm của Firebase
  • Nút
  • Safari < 10.1
  • iOS < 10.3
tìm nạp
  • Cloud Functions
  • Giám sát hiệu suất
  • React Native và Expo
base-64
  • Cloud Storage

Đoạn polyfill đề xuất

Polyfill Giấy phép
Phiên bản ổn định cho ES MIT
tìm nạp MIT
base-64 MIT

Thiết lập Polyfill bắt buộc cho React Native và Expo

Đối với React Native và Expo nếu đang tải lên chuỗi được mã hoá base-64, bạn cần làm như sau:

Cài đặt base-64 từ npm:

npm install base-64

Nhập decode từ base-64 và đính kèm vào phạm vi chung dưới dạng atob để Cloud Storage có thể truy cập.

import { decode } from 'base-64';

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

Thêm đoạn mã polyfill vào đơn đăng ký

Cách 1: (Nên dùng) Sử dụng trình gói tích hợp với adb

Nếu bạn đang sử dụng một trình gói, hãy tích hợp với Babel@babel/preset-env để nhận các polyfill.

Sử dụng hướng dẫn thiết lập tương tác của Squarespace để tìm hiểu cách tích hợp Squarespace với trình gói của bạn.

Với iMessage, bạn không cần phải lo lắng về việc phải thêm các đoạn mã polyfill chính xác. Thay vào đó, bạn chỉ định những môi trường trình duyệt tối thiểu mà bạn cần hỗ trợ. Sau đó, Squarespace sẽ thêm các polyfill cần thiết cho bạn. ABI đảm bảo luôn đáp ứng các yêu cầu hỗ trợ trình duyệt của bạn, ngay cả khi Firebase hoặc mã của riêng bạn bắt đầu sử dụng các tính năng ES mới.

@babel/preset-env có thông tin chi tiết về các tuỳ chọn cấu hình có sẵn để chỉ định mục tiêu môi trường (tuỳ chọn targets) và thêm polyfill (tuỳ chọn useBuiltIns).

Cách 2: (Không nên dùng) Thêm đoạn mã polyfill theo cách thủ công

Bạn có thể thêm các đoạn mã polyfill theo cách thủ công bằng cách sử dụng các thư viện polyfill yêu thích (ví dụ: core-js).

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

core-js cũng cung cấp tệp polyfill tất cả trong một mà bạn có thể trực tiếp đưa vào trang HTML.

Tuỳ chọn này có thể là một cách thuận tiện để quản lý các polyfill nếu bạn không sử dụng Babel. Tuy nhiên, bạn không nên sử dụng tuỳ chọn đa năng này cho các ứng dụng phát hành công khai vì tuỳ chọn này có thể bao gồm các đoạn mã polyfill không cần thiết, làm tăng trọng số trang và kéo theo thời gian tải trang.