قم بتصميم نماذج أولية واختبار تطبيقات الويب باستخدام Firebase Hosting Emulator

قبل البدء في إنشاء نموذج أولي واختبار تطبيق الويب الخاص بك باستخدام محاكي Firebase Hosting، تأكد من أنك تفهم سير عمل Firebase Local Emulator Suite الشامل ، ومن تثبيت Local Emulator Suite وتكوينه ومراجعة أوامر CLI الخاصة به.

يجب أن تكون أيضًا على دراية بالميزات وسير عمل التنفيذ لاستضافة Firebase. ابدأ بالمقدمة عن استضافة Firebase .

ماذا يمكنني أن أفعل باستخدام محاكي Firebase Hosting؟

يوفر محاكي Firebase Hosting محاكاة محلية عالية الدقة لخدمات الاستضافة، مما يوفر الكثير من الوظائف الموجودة في استضافة الإنتاج . يتيح لك محاكي الاستضافة ما يلي:

  • قم بإنشاء نماذج أولية لمواقعك الثابتة وتطبيقات الويب دون تكبد رسوم تخزين أو وصول
  • نموذج أولي واختبار وتصحيح وظائف HTTPS قبل النشر على موقع الاستضافة الخاص بك
  • اختبار المواقع وتطبيقات الويب في عمليات سير عمل متكاملة ومتكاملة ومستمرة.

اختر مشروع Firebase

يحاكي Firebase Local Emulator Suite المنتجات لمشروع Firebase واحد.

لتحديد المشروع المراد استخدامه، قبل بدء تشغيل المحاكيات، قم بتشغيل firebase use في سطر الأوامر (CLI) في دليل العمل الخاص بك. أو يمكنك تمرير علامة --project إلى كل أمر محاكي.

يدعم Local Emulator Suite محاكاة مشاريع Firebase الحقيقية والمشاريع التجريبية .

نوع المشروع سمات استخدم مع المحاكيات
حقيقي

مشروع Firebase الحقيقي هو المشروع الذي قمت بإنشائه وتكوينه (على الأرجح عبر وحدة تحكم Firebase).

تحتوي المشاريع الحقيقية على موارد مباشرة، مثل مثيلات قاعدة البيانات أو مجموعات التخزين أو الوظائف أو أي مورد آخر قمت بإعداده لمشروع Firebase هذا.

عند العمل مع مشاريع Firebase حقيقية، يمكنك تشغيل برامج محاكاة لأي من المنتجات المدعومة أو جميعها.

بالنسبة لأي منتجات لا تقوم بمحاكاتها، ستتفاعل تطبيقاتك والتعليمات البرمجية الخاصة بك مع المورد المباشر (مثيل قاعدة البيانات، وحاوية التخزين، والوظيفة، وما إلى ذلك).

تجريبي

لا يحتوي مشروع Firebase التجريبي على تكوين Firebase حقيقي ولا توجد موارد مباشرة. عادةً ما يتم الوصول إلى هذه المشاريع عبر Codelabs أو البرامج التعليمية الأخرى.

معرفات المشروع للمشاريع التجريبية لها البادئة demo- .

عند العمل مع مشاريع Firebase التجريبية، تتفاعل تطبيقاتك ورموزك البرمجية مع المحاكيات فقط . إذا حاول تطبيقك التفاعل مع مورد لا يعمل عليه المحاكي، فسوف يفشل هذا الرمز.

ننصحك باستخدام المشاريع التجريبية حيثما أمكن ذلك. تشمل الفوائد ما يلي:

  • إعداد أسهل، حيث يمكنك تشغيل المحاكيات دون إنشاء مشروع Firebase
  • أمان أقوى، لأنه إذا استدعت التعليمات البرمجية الخاصة بك عن طريق الخطأ موارد غير مقلدة (إنتاجية)، فلن تكون هناك فرصة لتغيير البيانات والاستخدام والفوترة
  • دعم أفضل في وضع عدم الاتصال، نظرًا لعدم الحاجة إلى الوصول إلى الإنترنت لتنزيل تكوين SDK الخاص بك.

سير عمل النماذج الأولية الأساسية

إذا كنت تقوم بإجراء تكرارات سريعة أو تريد أن يتفاعل تطبيقك مع موارد مشروع الواجهة الخلفية التي تمت محاكاتها، فيمكنك اختبار محتوى الاستضافة الخاص بك وتكوينه محليًا. عند الاختبار محليًا، يقدم Firebase تطبيق الويب الخاص بك على عنوان URL مستضاف محليًا.

  1. (اختياري) افتراضيًا، سيتفاعل تطبيقك المستضاف محليًا مع موارد المشروع الحقيقية ، وليس المحاكاة (الوظائف، وقاعدة البيانات، والقواعد، وما إلى ذلك). يمكنك بدلاً من ذلك توصيل تطبيقك بشكل اختياري لاستخدام أي موارد مشروع تمت مضاهاتها قمت بتكوينها. اعرف المزيد: قاعدة بيانات الوقت الفعلي | سحابة فايرستور | وظائف السحابة

  2. من جذر دليل المشروع المحلي الخاص بك، قم بتشغيل الأمر التالي:

    firebase emulators:start
  3. افتح تطبيق الويب الخاص بك على عنوان URL المحلي الذي يعرضه سطر الأوامر (عادةً http://localhost:5000 ).

  4. لتحديث عنوان URL المحلي بالتغييرات، قم بتحديث المتصفح الخاص بك.

اختبار من الأجهزة المحلية الأخرى

افتراضيًا، تستجيب المحاكيات فقط للطلبات الواردة من localhost . وهذا يعني أنك ستتمكن من الوصول إلى المحتوى المستضاف الخاص بك من متصفح الويب بجهاز الكمبيوتر الخاص بك ولكن ليس من الأجهزة الأخرى على شبكتك. إذا كنت ترغب في الاختبار من أجهزة محلية أخرى، فقم بتكوين firebase.json الخاص بك على النحو التالي:

"emulators": {
    // ...

    "hosting": {
      "port": 5000
      "host": "0.0.0.0"
    }
  }

إنشاء رموز المصادقة لسير عمل التكامل المستمر

إذا كانت مسارات عمل التكامل المستمر لديك تعتمد على استضافة Firebase، فستحتاج إلى تسجيل الدخول باستخدام رمز مميز لتشغيل firebase emulators:exec . لا تتطلب المحاكيات الأخرى تسجيل الدخول.

لإنشاء رمز مميز، قم بتشغيل firebase login:ci على بيئتك المحلية؛ لا ينبغي أن يتم تنفيذ هذا من نظام CI. اتبع التعليمات للمصادقة. يجب أن تحتاج إلى تنفيذ هذه الخطوة مرة واحدة فقط لكل مشروع، نظرًا لأن الرمز المميز سيكون صالحًا عبر الإصدارات. يجب التعامل مع الرمز المميز ككلمة مرور؛ تأكد من الحفاظ على سرية الأمر.

إذا كانت بيئة CI الخاصة بك تسمح لك بتحديد متغيرات البيئة التي يمكن استخدامها في البرامج النصية للإنشاء، فما عليك سوى إنشاء متغير بيئة يسمى FIREBASE_TOKEN ، حيث تكون القيمة هي سلسلة رمز الوصول. سوف تلتقط واجهة سطر أوامر Firebase تلقائيًا متغير البيئة FIREBASE_TOKEN وستبدأ المحاكيات بشكل صحيح.

كملاذ أخير، يمكنك ببساطة تضمين الرمز المميز في البرنامج النصي للبناء الخاص بك، ولكن تأكد من عدم وصول الأطراف غير الموثوق بها. بالنسبة لهذا الأسلوب المضمن، يمكنك إضافة --token "YOUR_TOKEN_STRING_HERE" إلى أمر firebase emulators:exec .

ماذا بعد؟