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

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

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

Trình duyệt

sản phẩm căn cứ hỏa lực Bờ rìa Firefox Trình duyệt Chrome Safari của iOS Cuộc đi săn
Kiểm tra ứng dụng
phân tích
Xác thực
Cửa hàng đám mây
(ngoại trừ
kiên trì)

(ngoại trừ
kiên trì
nếu iOS < 10)
Chức năng đám mây
Cài đặt Firebase
Nhắn tin qua đám mây
(Edge 17+, ngoại trừ thiết bị di động)
Lưu trữ đám mây
Giám sát hiệu suất
Cơ sở dữ liệu thời gian thực
Cấu hình từ xa

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

sản phẩm căn cứ hỏa lực Phản ứng gốc Node.js Trình duyệt Chrome
Tiện ích mở rộng
Cordova
Kiểm tra ứng dụng
(sử dụng nhà cung cấp tùy chỉnh để thực hiện chứng thực thiết bị gốc)

(sử dụng nhà cung cấp tùy chỉnh )
phân tích
Xác thực
(xem chú thích )

(xem chú thích )

(xem chú thích )

(xem chú thích )
Cửa hàng đám mây
(ngoại trừ
kiên trì)

(ngoại trừ
kiên trì)
Chức năng đám mây
Cài đặt Firebase
Nhắn tin qua đám mây
Lưu trữ đám mây
(ngoại trừ
tải lên)
Giám sát hiệu suất
Cơ sở dữ liệu thời gian thực
Cấu hình từ xa

Polyfill

SDK JavaScript Firebase được xây dựng 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ũ hơn không hỗ trợ tất cả các tính năng mà Firebase yêu cầu. Nếu bạn phải hỗ trợ các trình duyệt/môi trường này thì bạn cần tải các polyfill tương ứng.

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

Polyfill bắt buộc

Môi trường Polyfill
Safari 7 & 8 & 9 ES ổn định
Nút < 6,5 ES ổn định

Polyfill tùy chọn

Môi trường Polyfill Sản phẩm căn cứ hỏa lực
  • Nút
  • Safari < 10.1
  • iOS < 10.3
tìm về
  • Chức năng đám mây
  • Giám sát hiệu suất
  • React Native và Expo
cơ sở-64
  • Lưu trữ đám mây

Polyfill được đề xuất

Polyfill Giấy phép
ES ổn định MIT
tìm về MIT
cơ sở-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 bạn đang tải lên chuỗi được mã hóa base-64, bạn cần thực hiện như sau:

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

npm install base-64

Nhập decode từ base-64 và đính kèm nó vào phạm vi toàn cầu 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 polyfill vào ứng dụng của bạn

Tùy chọn 1 : (Khuyến nghị) Sử dụng gói tích hợp với Babel

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

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

Với Babel, bạn không cần phải lo lắng về việc đưa vào các polyfill chính xác. Thay vào đó, bạn chỉ định các môi trường trình duyệt tối thiểu mà bạn cần hỗ trợ. Sau đó Babel sẽ thêm các polyfill cần thiết cho bạn. Babel đảm bảo rằng các yêu cầu hỗ trợ trình duyệt của bạn luôn được đáp ứng, 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 tùy chọn cấu hình có sẵn để chỉ định mục tiêu môi trường (tùy chọn targets ) và thêm polyfill (tùy chọn useBuiltIns ).

Tùy chọn 2 : (Không được khuyến nghị) Thêm polyfill theo cách thủ công

Bạn có thể thêm polyfill theo cách thủ công bằng cách sử dụng thư viện polyfill yêu thích của mình (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ể đưa trực tiếp vào trang HTML.

Tùy chọn này có thể là một cách thuận tiện để quản lý polyfill nếu bạn không sử dụng Babel. Tuy nhiên, chúng tôi không khuyến nghị tùy chọn tất cả trong một này cho các ứng dụng sản xuất vì nó có thể sẽ bao gồm các polyfill không cần thiết, làm tăng trọng lượng trang và do đó làm tăng thời gian tải trang.