محیط های پشتیبانی شده برای Firebase JavaScript SDK

محیط های پشتیبانی شده

Firebase JavaScript SDK به طور رسمی در محیط های زیر پشتیبانی می شود.

مرورگرها

محصول Firebase حاشیه، غیرمتمرکز فایرفاکس کروم سافاری iOS سافاری
بررسی برنامه
تجزیه و تحلیل
احراز هویت
Cloud Firestore
(بجز
ماندگاری)

(بجز
ماندگاری
اگر iOS < 10)
توابع ابری
تاسیسات فایربیس
پیام رسانی ابری
(Edge 17+، به جز موبایل)
فضای ذخیره ابری
نظارت بر عملکرد
پایگاه داده بیدرنگ
پیکربندی از راه دور

محیط های دیگر

محصول Firebase React Native Node.js کروم
برنامه های افزودنی
کوردووا
بررسی برنامه
(با استفاده از یک ارائه دهنده سفارشی برای تأیید دستگاه بومی)

(با استفاده از یک ارائه دهنده سفارشی )
تجزیه و تحلیل
احراز هویت
( یادداشت را ببینید )

( یادداشت را ببینید )

( یادداشت را ببینید )

( یادداشت را ببینید )
Cloud Firestore
(بجز
ماندگاری)

(بجز
ماندگاری)
توابع ابری
تاسیسات فایربیس
پیام رسانی ابری
فضای ذخیره ابری
(بجز
آپلودها)
نظارت بر عملکرد
پایگاه داده بیدرنگ
پیکربندی از راه دور

پلی پرها

Firebase JavaScript SDK بر اساس آخرین استانداردهای پلت فرم وب ساخته شده است. برخی از مرورگرهای قدیمی و محیط های جاوا اسکریپت از همه ویژگی های مورد نیاز Firebase پشتیبانی نمی کنند. اگر باید از این مرورگرها/محیط‌ها پشتیبانی کنید، باید polyfills را متناسب با آن بارگیری کنید.

بخش‌های زیر بیشتر پلی‌فیل‌هایی را که ممکن است به آن‌ها نیاز داشته باشید، مشخص می‌کند.

پلی پرهای مورد نیاز

محیط ها پلی پرها
سافاری 7 و 8 و 9 ES پایدار
گره < 6.5 ES پایدار

پلی پرهای اختیاری

محیط ها پلی پرها محصولات Firebase
  • گره
  • سافاری < 10.1
  • iOS < 10.3
رفتن و آوردن
  • توابع ابری
  • نظارت بر عملکرد
  • React Native و Expo
پایه-64
  • فضای ذخیره ابری

پلی فیل های پیشنهادی

پلی پرها مجوز
ES پایدار MIT
رفتن و آوردن MIT
پایه-64 MIT

راه اندازی Polyfill مورد نیاز برای React Native و Expo

برای React Native و Expo اگر رشته کدگذاری شده پایه ۶۴ را آپلود می کنید، باید موارد زیر را انجام دهید:

نصب 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 تضمین می کند که الزامات شما برای پشتیبانی مرورگر همیشه برآورده می شود، حتی اگر Firebase یا کد شما شروع به استفاده از ویژگی های جدید ES کند.

@babel/preset-env اطلاعات دقیقی درباره گزینه‌های پیکربندی موجود برای تعیین اهداف محیطی ( targets گزینه‌ای) و افزودن polyfills (گزینه useBuiltIns ) دارد.

گزینه 2 : (توصیه نمی شود) polyfills را به صورت دستی اضافه کنید

می‌توانید با استفاده از کتابخانه‌های پلی‌فیل مورد علاقه‌تان (مثلاً core-js ) پلی‌فیل‌ها را به صورت دستی اضافه کنید.

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

core-js همچنین یک فایل polyfill همه‌کاره ارائه می‌کند که می‌توانید مستقیماً در صفحه HTML قرار دهید.

اگر از Babel استفاده نمی کنید، این گزینه می تواند راهی مناسب برای مدیریت polyfills باشد. با این حال، ما این گزینه همه‌کاره را برای برنامه‌های تولیدی توصیه نمی‌کنیم، زیرا احتمالاً شامل پلی‌پرهای غیرضروری است که وزن صفحه و در نتیجه زمان بارگذاری صفحه را افزایش می‌دهد.