สภาพแวดล้อมที่รองรับ
Firebase JavaScript SDK ได้รับการสนับสนุนอย่างเป็นทางการในสภาพแวดล้อมต่อไปนี้
เบราว์เซอร์
ผลิตภัณฑ์ Firebase | ขอบ | ไฟร์ฟอกซ์ | โครเมียม | iOS ซาฟารี | ซาฟารี |
---|---|---|---|---|---|
ตรวจสอบแอป | |||||
การวิเคราะห์ | |||||
การรับรองความถูกต้อง | |||||
Cloud Firestore | (ยกเว้น วิริยะ) | (ยกเว้น วิริยะ ถ้า iOS < 10) | |||
ฟังก์ชั่นคลาวด์ | |||||
การติดตั้ง Firebase | |||||
การส่งข้อความบนคลาวด์ | (ขอบ17+ยกเว้นมือถือ) | ||||
การจัดเก็บเมฆ | |||||
การตรวจสอบประสิทธิภาพ | |||||
ฐานข้อมูลเรียลไทม์ | |||||
การกำหนดค่าระยะไกล |
สภาพแวดล้อมอื่นๆ
ผลิตภัณฑ์ Firebase | ตอบสนองพื้นเมือง | โหนด js | โครเมียม ส่วนขยาย | คอร์โดวา |
---|---|---|---|---|
ตรวจสอบแอป | (ใช้ ผู้ให้บริการที่กำหนดเอง เพื่อทำการรับรองอุปกรณ์ดั้งเดิม) | (ใช้ ผู้ให้บริการที่กำหนดเอง ) | ||
การวิเคราะห์ | ||||
การรับรองความถูกต้อง | (ดู หมายเหตุ ) | (ดู หมายเหตุ ) | (ดู หมายเหตุ ) | (ดู หมายเหตุ ) |
Cloud Firestore | (ยกเว้น วิริยะ) | (ยกเว้น วิริยะ) | ||
ฟังก์ชั่นคลาวด์ | ||||
การติดตั้ง Firebase | ||||
การส่งข้อความบนคลาวด์ | ||||
การจัดเก็บเมฆ | (ยกเว้น อัปโหลด) | |||
การตรวจสอบประสิทธิภาพ | ||||
ฐานข้อมูลเรียลไทม์ | ||||
การกำหนดค่าระยะไกล |
โพลีฟิล
Firebase JavaScript SDK สร้างขึ้นบนมาตรฐานล่าสุดของแพลตฟอร์มเว็บ เบราว์เซอร์และสภาพแวดล้อม JavaScript รุ่นเก่าบางรุ่นไม่รองรับฟีเจอร์ทั้งหมดที่ Firebase ต้องการ หากคุณต้องรองรับเบราว์เซอร์/สภาพแวดล้อมเหล่านี้ คุณต้องโหลดโพลีฟิลตามนั้น
ส่วนด้านล่างระบุโพลีฟิลส่วนใหญ่ที่คุณอาจต้องการ
โพลีฟิลที่จำเป็น
สภาพแวดล้อม | โพลีฟิล |
---|---|
ซาฟารี 7 & 8 & 9 | อีเอสเสถียร |
โหนด <6.5 | อีเอสเสถียร |
โพลีฟิลล์เสริม
สภาพแวดล้อม | โพลีฟิล | ผลิตภัณฑ์ Firebase |
---|---|---|
| ดึง |
|
| ฐาน-64 |
|
โพลีฟิลที่แนะนำ
โพลีฟิล | ใบอนุญาต |
---|---|
อีเอสเสถียร | เอ็มไอที |
ดึง | เอ็มไอที |
ฐาน-64 | เอ็มไอที |
การตั้งค่า Polyfill ที่จำเป็นสำหรับ React Native และ Expo
สำหรับ React Native และ Expo หากคุณกำลังอัปโหลดสตริงที่เข้ารหัสฐาน 64 คุณต้องทำสิ่งต่อไปนี้:
ติดตั้ง 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;
}
เพิ่มโพลีฟิลในแอปพลิเคชันของคุณ
ตัวเลือกที่ 1 : (แนะนำ) ใช้ Bundler ที่รวมเข้ากับ Babel
หากคุณกำลังใช้ Bundler ให้รวมกับ Babel และ @babel/preset-env เพื่อรับ polyfills
ใช้ คู่มือการตั้งค่า แบบโต้ตอบของ Babel เพื่อเรียนรู้วิธีรวม Babel เข้ากับ Bundler ของคุณ
ด้วย Babel คุณไม่จำเป็นต้องกังวลเกี่ยวกับโพลีฟิลที่แน่นอนที่จะรวม แต่คุณระบุสภาพแวดล้อมเบราว์เซอร์ขั้นต่ำที่คุณต้องการสนับสนุนแทน จากนั้น Babel จะเพิ่มโพลีฟิลที่จำเป็นให้กับคุณ Babel รับรองว่าความต้องการของคุณสำหรับการสนับสนุนเบราว์เซอร์จะเป็นไปตามเสมอ แม้ว่า Firebase หรือโค้ดของคุณเองจะเริ่มใช้คุณลักษณะ ES ใหม่ก็ตาม
@babel/preset-env มีข้อมูลโดยละเอียดเกี่ยวกับตัวเลือกการกำหนดค่าที่มีอยู่สำหรับการระบุเป้าหมายสภาพแวดล้อม ( targets
ตัวเลือก ) และการเพิ่มโพลีฟิล (ตัวเลือก useBuiltIns
)
ตัวเลือกที่ 2 : (ไม่แนะนำ) เพิ่มโพลีฟิลด้วยตนเอง
คุณสามารถเพิ่ม polyfill ได้ด้วยตนเองโดยใช้ไลบรารี polyfill ที่คุณชื่นชอบ (เช่น core-js
)
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
ยังมี ไฟล์ polyfill แบบ all-in-one ที่คุณสามารถรวมไว้ในหน้า HTML ได้โดยตรง
ตัวเลือกนี้อาจเป็นวิธีที่สะดวกในการจัดการโพลีฟิล หากคุณไม่ได้ใช้ Babel อย่างไรก็ตาม เราไม่แนะนำตัวเลือกแบบ all-in-one สำหรับแอปที่ใช้งานจริง เนื่องจากอาจมีการเติมโพลีฟิลที่ไม่จำเป็น ซึ่งจะเพิ่มน้ำหนักของหน้าและทำให้เวลาในการโหลดหน้าลดลง