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

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

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

Các trình duyệt

Sản phẩm Firebase IE11 Lưỡi sắc Firefox Trình duyệt Chrome iOS Safari Safari
phân tích
Xác thực
Cloud Firestore
(ngoại trừ
bền bỉ)

(ngoại trừ
sự bền bỉ
nếu iOS <10)
Chức năng đám mây
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

Môi trường khác

Sản phẩm Firebase React Native Node.js Trình duyệt Chrome
Tiện ích mở rộng
Cordova
phân tích
Xác thực
(xem Chú ý )

(xem Chú ý )

(xem Chú ý )

(xem Chú ý )
Cloud Firestore
(ngoại trừ
bền bỉ)

(ngoại trừ
bền bỉ)
Chức năng đám mây
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

Polyfills

SDK JavaScript của Firebase đượ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 cũ hơn và môi trường JavaScript không hỗ trợ tất cả các tính năng theo yêu cầu của Firebase. 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 polyfills tương ứng.

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

Polyfills bắt buộc

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

Polyfills tùy chọn

Môi trường Polyfills Sản phẩm Firebase
  • IE 11
  • 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

Các polyfills được đề xuất

Polyfills Giấy phép
ES ổn định MIT
tìm về MIT

Thêm polyfills trong ứng dụng của bạn

Lựa chọn 1: (Recommended) Sử dụng bundler tích hợp với Babel

Nếu bạn đang sử dụng một bundler, tích hợp với Babel@ babel / preset-env để có được polyfills.

Tương tác sử dụng Babel của hướng dẫn cài đặt để biết cách lồng ghép Babel với bundler của bạn.

Với Babel, bạn không cần phải lo lắng về các polyfills chính xác để bao gồm. 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ợ. Babel sau đó thêm các polyfills cần thiết cho bạn. Babel đảm bảo rằng các yêu cầu của bạn về hỗ trợ trình duyệt 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 để xác định mục tiêu môi trường (tùy chọn targets ) và thêm polyfills (tùy chọn useBuiltIns ).

Lựa chọn 2: (Not Recommended) Add polyfills bằng tay

Bạn có thể thêm polyfills bằng tay sử dụng thư viện polyfill yêu thích của bạn (ví dụ, core-js ).

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

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

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

,

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

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

Các trình duyệt

Sản phẩm Firebase IE11 Lưỡi sắc Firefox Trình duyệt Chrome iOS Safari Safari
phân tích
Xác thực
Cloud Firestore
(ngoại trừ
bền bỉ)

(ngoại trừ
sự bền bỉ
nếu iOS <10)
Chức năng đám mây
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

Môi trường khác

Sản phẩm Firebase React Native Node.js Trình duyệt Chrome
Tiện ích mở rộng
Cordova
phân tích
Xác thực
(xem Chú ý )

(xem Chú ý )

(xem Chú ý )

(xem Chú ý )
Cloud Firestore
(ngoại trừ
bền bỉ)

(ngoại trừ
bền bỉ)
Chức năng đám mây
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

Polyfills

SDK JavaScript của Firebase đượ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 cũ hơn và môi trường JavaScript không hỗ trợ tất cả các tính năng theo yêu cầu của Firebase. 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 polyfills tương ứng.

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

Polyfills bắt buộc

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

Polyfills tùy chọn

Môi trường Polyfills Sản phẩm Firebase
  • IE 11
  • 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

Các polyfills được đề xuất

Polyfills Giấy phép
ES ổn định MIT
tìm về MIT

Thêm polyfills trong ứng dụng của bạn

Lựa chọn 1: (Recommended) Sử dụng bundler tích hợp với Babel

Nếu bạn đang sử dụng một bundler, tích hợp với Babel@ babel / preset-env để có được polyfills.

Tương tác sử dụng Babel của hướng dẫn cài đặt để biết cách lồng ghép Babel với bundler của bạn.

Với Babel, bạn không cần phải lo lắng về các polyfills chính xác để bao gồm. 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ợ. Babel sau đó thêm các polyfills cần thiết cho bạn. Babel đảm bảo rằng các yêu cầu của bạn về hỗ trợ trình duyệt 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 để xác định mục tiêu môi trường (tùy chọn targets ) và thêm polyfills (tùy chọn useBuiltIns ).

Lựa chọn 2: (Not Recommended) Add polyfills bằng tay

Bạn có thể thêm polyfills bằng tay sử dụng thư viện polyfill yêu thích của bạn (ví dụ, core-js ).

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

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

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