البيئات المدعومة لـ Firebase JavaScript SDK

البيئات المدعومة

يتم دعم Firebase JavaScript SDK رسميًا في البيئات التالية.

المتصفحات

منتج Firebase حافة ثعلب النار كروم iOS Safari سفاري
التحقق من التطبيق
تحليلات
المصادقة
سحابة Firestore
(يستثني
إصرار)

(يستثني
إصرار
إذا iOS <10)
وظائف السحابة
منشآت Firebase
المراسلة السحابية
(Edge 17+ ، باستثناء الهاتف المحمول)
سحابة التخزين
مراقبة الاداء
قاعدة بيانات الوقت الفعلي
التكوين عن بعد

بيئات أخرى

منتج Firebase رد الفعل الأصلي Node.js كروم
ملحقات
كوردوفا
التحقق من التطبيق
(باستخدام موفر مخصص لإجراء تصديق الجهاز الأصلي)

(باستخدام مزود مخصص )
تحليلات
المصادقة
(انظر الملاحظة )

(انظر الملاحظة )

(انظر الملاحظة )

(انظر الملاحظة )
سحابة Firestore
(يستثني
إصرار)

(يستثني
إصرار)
وظائف السحابة
منشآت Firebase
المراسلة السحابية
سحابة التخزين
(يستثني
تحميلات)
مراقبة الاداء
قاعدة بيانات الوقت الفعلي
التكوين عن بعد

بوليفيلس

تم تصميم Firebase JavaScript SDK وفقًا لأحدث معايير النظام الأساسي للويب. لا تدعم بعض المتصفحات القديمة وبيئات JavaScript جميع الميزات المطلوبة بواسطة Firebase. إذا كان يجب عليك دعم هذه المتصفحات / البيئات ، فأنت بحاجة إلى تحميل polyfill وفقًا لذلك.

تحدد الأقسام أدناه معظم polyfills التي قد تحتاجها.

polyfills المطلوبة

البيئات بوليفيلس
سفاري 7 و 8 و 9 ES مستقرة
العقدة <6.5 ES مستقرة

بوليفيل اختياري

البيئات بوليفيلس منتجات Firebase
  • العقدة
  • سفاري <10.1
  • iOS <10.3
أحضر
  • وظائف السحابة
  • مراقبة الاداء
  • رد الفعل الأصلي والمعرض
القاعدة 64
  • سحابة التخزين

اقترح polyfills

بوليفيلس رخصة
ES مستقرة معهد ماساتشوستس للتكنولوجيا
أحضر معهد ماساتشوستس للتكنولوجيا
القاعدة 64 معهد ماساتشوستس للتكنولوجيا

إعداد 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;
}

أضف polyfills في التطبيق الخاص بك

الخيار 1 : (موصى به) استخدم الحزم المدمج مع Babel

إذا كنت تستخدم أداة تجميع ، فقم بالتكامل مع Babel و @ babel / preset-env للحصول على polyfills.

استخدم دليل الإعداد التفاعلي من Babel لتتعلم كيفية دمج Babel مع المجمّع الخاص بك.

مع Babel ، لا داعي للقلق بشأن polyfill الدقيق لتضمينه. بدلاً من ذلك ، تحدد الحد الأدنى من بيئات المتصفح التي تحتاج إلى دعمها. يضيف Babel ثم polyfills اللازمة لك. تضمن Babel تلبية متطلباتك الخاصة بدعم المستعرض دائمًا ، حتى إذا بدأ Firebase أو التعليمات البرمجية الخاصة بك في استخدام ميزات ES الجديدة.

لدى @ babel / preset-env معلومات مفصلة حول خيارات التكوين المتاحة لتحديد أهداف البيئة ( targets الخيارات) وإضافة polyfills (option useBuiltIns ).

الخيار 2 : (غير مستحسن) إضافة polyfills يدويًا

يمكنك إضافة polyfills يدويًا باستخدام مكتبات polyfill المفضلة لديك (على سبيل المثال ، core-js ).

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

يوفر core-js أيضًا ملف polyfill متعدد الإمكانات يمكنك تضمينه مباشرةً في صفحة HTML.

يمكن أن يكون هذا الخيار طريقة مناسبة لإدارة polyfill إذا كنت لا تستخدم Babel. ومع ذلك ، لا نوصي بخيار الكل في واحد هذا لتطبيقات الإنتاج لأنه من المحتمل أن يتضمن polyfills غير الضرورية ، مما يزيد من وزن الصفحة وبالتالي وقت تحميل الصفحة.