סביבות נתמכות עבור Firebase JavaScript SDK

סביבות נתמכות

ה-SDK של Firebase JavaScript נתמך רשמית בסביבות הבאות.

דפדפנים

מוצר Firebase קָצֶה פיירפוקס כרום iOS Safari ספארי
בדיקת אפליקציה
ניתוח
אימות
Cloud Firestore
(מלבד
הַתמָדָה)

(מלבד
הַתמָדָה
אם iOS < 10)
פונקציות ענן
התקנות Firebase
העברת הודעות בענן
(Edge 17+, למעט נייד)
אחסון בענן
ניטור ביצועים
מסד נתונים בזמן אמת
תצורה מרחוק

סביבות אחרות

מוצר Firebase תגובה יליד Node.js כרום
הרחבות
קורדובה
בדיקת אפליקציה
(שימוש בספק מותאם אישית כדי לבצע אישור מכשיר מקורי)

(באמצעות ספק מותאם אישית )
ניתוח
אימות
(ראה הערה )

(ראה הערה )

(ראה הערה )

(ראה הערה )
Cloud Firestore
(מלבד
הַתמָדָה)

(מלבד
הַתמָדָה)
פונקציות ענן
התקנות Firebase
העברת הודעות בענן
אחסון בענן
(מלבד
העלאות)
ניטור ביצועים
מסד נתונים בזמן אמת
תצורה מרחוק

Polyfills

Firebase JavaScript SDK בנוי על הסטנדרטים העדכניים ביותר של פלטפורמת האינטרנט. חלק מדפדפנים וסביבות JavaScript ישנות יותר אינם תומכים בכל התכונות הנדרשות על-ידי Firebase. אם אתה חייב לתמוך בדפדפנים/סביבות אלה, עליך לטעון polyfills בהתאם.

הסעיפים שלהלן מזהים את רוב הפוליפילים שאולי תזדקק להם.

פוליפילים נדרשים

סביבות Polyfills
ספארי 7 ו-8 ו-9 ES יציב
צומת < 6.5 ES יציב

פוליפילים אופציונליים

סביבות Polyfills מוצרי Firebase
  • צוֹמֶת
  • ספארי < 10.1
  • iOS < 10.3
לְהָבִיא
  • פונקציות ענן
  • ניטור ביצועים
  • React Native ו-Expo
בסיס-64
  • אחסון בענן

פוליפילים מוצעים

Polyfills רישיון
ES יציב MIT
לְהָבִיא MIT
בסיס-64 MIT

הגדרת 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;
}

הוסף polyfills ביישום שלך

אפשרות 1 : (מומלץ) השתמש ב-Bundler המשולב עם Babel

אם אתה משתמש ב-bundler, שלב עם Babel ו- @babel/preset-env כדי לקבל polyfills.

השתמש במדריך ההגדרה האינטראקטיבי של Babel כדי ללמוד כיצד לשלב את Babel עם המצרף שלך.

עם Babel, אתה לא צריך לדאוג לגבי הפוליפילים המדויקים שיש לכלול. במקום זאת, אתה מציין את סביבות הדפדפן המינימליות שאתה צריך לתמוך בהן. לאחר מכן, בבל מוסיפה עבורך את הפוליפילים הדרושים. Babel מבטיחה שהדרישות שלך לתמיכה בדפדפן תמיד מתקיימות, גם אם Firebase או קוד משלך מתחילים להשתמש בתכונות ES חדשות.

ל-@babel/preset-env יש מידע מפורט על אפשרויות התצורה הזמינות לציון יעדי סביבה (option targets ) והוספת polyfills (אפשרות useBuiltIns ).

אפשרות 2 : (לא מומלץ) הוסף polyfills באופן ידני

אתה יכול להוסיף polyfills באופן ידני באמצעות ספריות polyfill המועדפות עליך (לדוגמה, core-js ).

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

core-js מספק גם קובץ polyfill הכל-באחד שתוכל לכלול ישירות בדף ה-HTML.

אפשרות זו יכולה להיות דרך נוחה לניהול polyfills אם אינך משתמש ב-Babel. עם זאת, איננו ממליצים על אפשרות ה-All-in-One הזו עבור אפליקציות ייצור, מכיוון שהיא ככל הנראה תכלול פולימילוי מיותרים, מה שמגדיל את משקל העמוד ומכאן את זמן טעינת העמוד.