สภาพแวดล้อมที่รองรับ Firebase JavaScript SDK

สภาพแวดล้อมที่รองรับ

Firebase JavaScript SDK ได้รับการสนับสนุนอย่างเป็นทางการในสภาพแวดล้อมต่อไปนี้

เบราว์เซอร์

ผลิตภัณฑ์ Firebase Edge Firefox Chrome iOS Safari Safari
การตรวจสอบแอป
ข้อมูลวิเคราะห์
การตรวจสอบสิทธิ์
Cloud Firestore
(ยกเว้น
ถาวร)

(ยกเว้น
ถาวร
หาก iOS ต่ำกว่า 10)
ฟังก์ชันระบบคลาวด์
การติดตั้ง Firebase
การรับส่งข้อความในระบบคลาวด์
(Edge 17+ ยกเว้นอุปกรณ์เคลื่อนที่)
พื้นที่เก็บข้อมูลระบบคลาวด์
การตรวจสอบประสิทธิภาพ
ฐานข้อมูลเรียลไทม์
การกำหนดค่าระยะไกล
Vertex AI สำหรับ Firebase

สภาพแวดล้อมอื่นๆ

ผลิตภัณฑ์ Firebase แสดงความรู้สึกกับโฆษณาเนทีฟ Node.js Chrome
ส่วนขยาย
คอร์โดวา
การตรวจสอบแอป
(ใช้ผู้ให้บริการที่กำหนดเองเพื่อยืนยันเอกสารรับรองของอุปกรณ์เนทีฟ)

(ใช้ผู้ให้บริการที่กำหนดเอง)
ข้อมูลวิเคราะห์
การตรวจสอบสิทธิ์
(ดูหมายเหตุ)

(ดูหมายเหตุ)

(ดูหมายเหตุ)

(ดูหมายเหตุ)
Cloud Firestore
(ยกเว้น
ถาวร)

(ยกเว้น
ถาวร)
ฟังก์ชันระบบคลาวด์
การติดตั้ง Firebase
การรับส่งข้อความในระบบคลาวด์
พื้นที่เก็บข้อมูลระบบคลาวด์
(ยกเว้น
การอัปโหลด)
การตรวจสอบประสิทธิภาพ
ฐานข้อมูลเรียลไทม์
การกำหนดค่าระยะไกล
Vertex AI สำหรับ Firebase

โพลีฟิล

Firebase JavaScript SDK สร้างขึ้นตามมาตรฐานล่าสุดของแพลตฟอร์มเว็บ เบราว์เซอร์และสภาพแวดล้อม JavaScript ที่เก่ากว่าบางฟีเจอร์ไม่รองรับฟีเจอร์บางอย่างที่ Firebase ต้องการ หากต้องรองรับเบราว์เซอร์/สภาพแวดล้อมเหล่านี้ คุณต้องโหลด Polyfill ตามนั้น

ส่วนด้านล่างจะระบุโพลีฟิลส่วนใหญ่ที่คุณอาจจำเป็นต้องใช้

โพลีฟิลที่จำเป็น

สภาพแวดล้อม Polyfills
Safari 7 และ 8 และ 9 ES เวอร์ชันเสถียร
โหนด < 6.5 ES เวอร์ชันเสถียร

Polyfill ที่ไม่บังคับ

สภาพแวดล้อม Polyfills ผลิตภัณฑ์ Firebase
  • โหนด
  • Safari < 10.1
  • iOS < 10.3
ดึงข้อมูล
  • Cloud Functions
  • Performance Monitoring
  • แสดงความรู้สึกกับโฆษณาเนทีฟและนิทรรศการ
เลขฐาน 64
  • Cloud Storage

โพลีฟิลที่แนะนำ

Polyfills ใบอนุญาต
ES เวอร์ชันเสถียร MIT
ดึงข้อมูล MIT
เลขฐาน 64 MIT

ต้องตั้งค่า Polyfill ที่จำเป็นสำหรับโฆษณาเนทีฟและนิทรรศการ

สําหรับ React Native และ Expo หากคุณอัปโหลดสตริงที่เข้ารหัสแบบ Base64 คุณต้องทำดังนี้

ติดตั้ง base-64 จาก npm:

npm install base-64

นำเข้า decode จาก base-64 และแนบไว้ในขอบเขตรวมเป็น atob เพื่อให้ Cloud Storage เข้าถึงได้

import { decode } from 'base-64';

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

เพิ่ม Polyfill ในแอปพลิเคชัน

ตัวเลือกที่ 1: (แนะนำ) ใช้เครื่องมือ Bundler ที่ผสานรวมกับ Babel

หากคุณใช้ Bundler ให้ผสานรวมกับ Babel และ @babel/preset-env เพื่อรับ Polyfill

ใช้คู่มือการตั้งค่าแบบอินเทอร์แอกทีฟของ Babel เพื่อเรียนรู้วิธีผสานรวม Babel กับ Bundler

ด้วย Babel คุณไม่ต้องกังวลเกี่ยวกับ Polyfill ที่จะใส่รวมอยู่ด้วย แต่คุณจะระบุสภาพแวดล้อมของเบราว์เซอร์ขั้นต่ำที่คุณต้องการสนับสนุนแทน จากนั้น Babel จะเพิ่มโพลีฟิลที่จำเป็นให้กับคุณ 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 ได้โดยตรง

ตัวเลือกนี้เป็นวิธีที่สะดวกในการจัดการโพลีฟิลหากคุณไม่ใช้ Babel อย่างไรก็ตาม เราไม่แนะนำให้ใช้ตัวเลือกแบบครบวงจรนี้สำหรับแอปเวอร์ชันที่ใช้งานจริง เนื่องจากอาจรวม Polyfill ที่ไม่จำเป็น ซึ่งจะช่วยเพิ่มน้ำหนักหน้าและทำให้เวลาในการโหลดหน้าเว็บเกิดขึ้น