الأسئلة الشائعة وتحديد المشاكل وحلّها

تقدّم هذه الصفحة إجابات عن الأسئلة الشائعة حول App Hosting.

App Hosting الأسئلة الشائعة

يوفّر App Hosting دعمًا مُعدًّا مسبقًا للإنشاء والنشر باستخدام IDE Next.js وAngular، حيث التزمنا بفهم IDE هذه الأطر وتفسير إعداداتها الأصلية. بالنسبة إلى عدد من أطر العمل الأخرى، يقدّم منتدى المطوّرين دعمًا App Hosting لمحوِّلات أطر العمل. بالإضافة إلى ذلك، بالنسبة إلى أي تطبيق Node.js يتضمّن نص إنشاء وبدء، سيحاول App Hosting إنشاءات، ولكن لا يمكنه ضمان النجاح بشكل موثوق. اطّلِع على دمج التنسيق.

من المرجّح أن نوسّع نطاق المناطق التي تتوفّر فيها ميزة "App Hosting" بمرور الوقت. يمكنك الاطّلاع على مواقع App Hosting لمعرفة أحدث المعلومات.

لا يمكنك حاليًا إجراء ذلك، ولكن من المخطّط أن يتوفّر هذا الخيار في المستقبل الطويل ضمن خارطة الطريق لتطبيق App Hosting.

إذا لم يظهر مستودعك في قائمة الخيارات عند إنشاء خلفية جديدة في "وحدة تحكّم Firebase"، جرِّب أولاً اختيار إعادة تحميل القائمة. إذا كان المستودع المفضّل لا يزال غير متاح، قد تحتاج إلى إضافته باستخدام خيار منح الإذن بالوصول إلى مستودع جديد في GitHub.

بالإضافة إلى ذلك، يمكنك إدارة المستودعات باستخدام Firebase App Hosting تطبيق GitHub. لإجراء ذلك، انتقِل إلى ملفك الشخصي على GitHub، ثم انقر على الإعدادات ثم التطبيقات. في الصف لتطبيق Firebase App Hosting في الجدول، انقر على إعداد لإدارة المستودعات.

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

تعتمد العناوين على إطار العمل. اتّبِع الخطوات المعتادة لإعداد إطار العمل.

نعم، يمكنك إجراء اختبارات على تطبيقك محليًا قبل App Hosting نشره باستخدام محاكي App Hosting، وهو جزء من App Hosting مجموعة أدوات المحاكاة المحلية لمنصة Firebase. اطّلِع على اختبار عملية نشر تطبيقك محليًا .

في هذه الحالات، من المحتمل أن يكون الخطأ قد حدث في Cloud Run. يُرجى التحقّق من حالة الطرح للتأكّد من ذلك.

لإزالة حساب GitHub المرتبط، افتح Developer Connect وتأكَّد من اختيار مشروعك، ثم احذف عملية الربط firebase-app-hosting-github-oath وعملية الربط التي تبدأ بالرمز apphosting-github-conn-. عند فتح App Hosting في وحدة تحكّم Firebase، من المفترض أن تتمكّن الآن من إعداد عملية ربط جديدة بخدمة GitHub.

على الرغم من أنّه لم يكن متاحًا عند إطلاق معاينة App Hosting، يعمل الآن عنوان استجابة HTTP Set-Cookie على النحو المتوقّع.

القيود العامة المفروضة على App Hosting وتحديد المشاكل وحلّها

  • تم تعديل رؤوس Cache-Control لتقييد ذاكرة التخزين المؤقت لشبكة توصيل المحتوى (CDN) على 60 دقيقة، وسيتم إزالة هذا القيد بعد فترة قصيرة من إطلاق المنتج للجميع.
  • لا يمكن أن تتضمّن شبكة App Hosting لنشر المحتوى في الشبكة الإعلانية سوى مجموعة محدّدة من رؤوس الطلبات في مفاتيح ذاكرة التخزين المؤقت. وتشمل هذه القائمة عناوين RSC وNext-Router-State-Tree Next-Router-Prefetch وNext-Router-Segment-Prefetch وNext-Url في NextJS، بالإضافة إلى عناوين Accept وAccept-Encoding Access-Control-Request-Headers وAccess-Control-Request-Method وOrigin Sec-Fetch-Dest وSec-Fetch-Mode وSec-Fetch-Site X-Goog-Allowed-Resources وX-Origin العادية في Cloud CDN. إذا كان أحد الردود يحتوي على رأس Vary بقيمة غير مُدرَجة هنا، لن تخزِّنه شبكة CDN.
  • يتم عرض الملفات الثابتة غير المخزّنة مؤقتًا من Cloud Run. وفي الإصدار اللاحق، سيتم تخزينها وعرضها من مصدر App Hosting لتحقيق أداء أفضل.
  • قد تعرض وحدة تحكّم Firebase بشكل متقطع خطأ "لم يتم العثور على الإصدار وهو غير صالح" عند إنشاء الخلفية.
  • تشترك جميع الخلفيات في المشروع نفسه في مؤسسة/حساب على GitHub. ويمكن ربطها بمستودعات مختلفة ضمن هذه المؤسسة/هذا الحساب. لإنشاء خدمات خلفية مرتبطة بحسابات مختلفة على GitHub، ضعها في مشاريع منفصلة.

قيود تطبيق Angular وتحديد المشاكل وحلّها

على الرغم من أنّ App Hosting قيد التطوير والتوسّع بشكل نشط لاستخدام Angular، إلا أنّه يتضمّن القيود التالية:

  • I18n: على الرغم من أنّ وظائف I18n الأساسية تعمل، يمكن أن يؤدي التنقّل المباشر إلى صفحات SSR إلى حدوث أخطاء.
  • الأقلمة: لا يمكن إنشاء إصدارات بلغات مختلفة.
  • التطبيقات المُنشِئة: لا يتوفّر حاليًا سوى "أداة إنشاء التطبيقات".
  • البيئات وأدوات Monorepo: لن تنجح مشاريع Angular التي تحتوي على أكثر من هدف تطبيق واحد. للحصول على دعم أكثر اكتمالاً لنظام الأركان الأساسية، استخدِم Nx.

قيود Next.js وتحديد المشاكل وحلّها

  • تكون ميزة تحسين الصور المضمّنة في NextJS غير مفعّلة تلقائيًا في App Hosting ما لم تضبط images.unoptimized على false بشكل صريح أو تستخدم محمِّل صور مخصّصًا. اطّلِع على تحسين تحميل الصور على Next.js.
  • يتم فك ترميز مسارات عناوين URL التي تحتوي على أحرف مرمّزة بنسبة مئوية باستخدام العنصر Cloud Run. وقد يؤدي ذلك إلى حدوث مشاكل في الميزات التي تتوقّع فقط مسارَي عناوين URL مُشفَّرَين، مثل التوجيه المتوازي في Next.js.
  • في الوقت الحالي، يحدّ App Hosting من ميزة التخزين المؤقت لتطبيقات NextJS باستخدام الوسيط. ومع مرور الوقت، من المفترض أن تتحسن معدّلات الوصول إلى ذاكرة التخزين المؤقت.
  • تعمل خدمة Cloud Run على فك ترميز مسارات عناوين URL التي تحتوي على أحرف مُرمَّزة بنسبة مئوية. وقد يؤدي ذلك إلى حدوث مشاكل في الميزات التي تتوقّع فقط مسارات عناوين URL المشفّرة، مثل التوجيه المتوازي في Next.js