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