يمكنك إعداد موقع إلكتروني واحد أو أكثر من "Firebase Hosting" في Firebase واحد مشروعك. وبما أنّ المواقع الإلكترونية كلها في مشروع Firebase نفسه، يمكن لجميع المواقع الوصول إلى موارد Firebase الأخرى للمشروع.
- لكل موقع إلكتروني إعدادات استضافة خاصة به.
- يستضيف كل موقع إلكتروني مجموعة المحتوى الخاصة به.
- يمكن أن يكون لكل موقع إلكتروني واحد أو أكثر من النطاقات المرتبطة.
من خلال إعداد عدة مواقع إلكترونية ضمن "Hosting" ضمن مشروع Firebase نفسه، يمكنك يمكنه مشاركة موارد Firebase بسهولة أكبر بين المواقع والتطبيقات ذات الصلة. على سبيل المثال، إذا أعددت مدوّنتك ولوحة المشرف والتطبيق العلني كمواقع إلكترونية individual في مشروع Firebase نفسه، يمكن لكلّ منها مشاركة قاعدة بيانات مستخدمي Firebase Authentication نفسها، مع امتلاكها أيضًا لنطاقاتها أو المحتوى الفريد.
الخطوة 1: تحديث إصدار واجهة سطر الأوامر Firebase
يمكنك الوصول إلى أحدث ميزات "Firebase Hosting" من خلال التحديث إلى آخر إصدار من Firebase CLI.
الخطوة 2: إضافة مواقع إلكترونية أخرى
يمكنك إضافة مواقع إلكترونية أخرى إلى مشروع Firebase باستخدام إحدى الطرق التالية:
استخدام سير العمل في صفحة Hosting لوحدة تحكّم Firebase
استخدِم الأمر Firebase في واجهة سطر الأوامر:
firebase hosting:sites:create SITE_ID
استخدام Hosting REST API:
projects.sites.create
في كلّ من هذه الطرق، عليك تحديد SITE_ID
الذي يُستخدَم لإنشاء
النطاقات الفرعية التلقائية التي يوفّرها Firebase للموقع الإلكتروني:
SITE_ID.web.app
SITE_ID.firebaseapp.com
بما أنّه يتم استخدام SITE_ID
لعناوين URL هذه، يتضمّن رقم تعريف الموقع الإلكتروني ما يلي:
المتطلبات:
- يجب أن يكون تصنيف اسم مضيف صالحًا، ما يعني أنّه لا يمكن أن يحتوي على
.
أو_
أو غير ذلك. - يجب ألا يزيد عدد الأحرف عن 30 حرفًا
- يجب أن يكون فريدًا عالميًا ضمن Firebase
يمكنك أيضًا اختياريًا إضافة نطاقات مخصّصة إلى كل موقع إلكتروني لعرض المحتوى والإعدادات نفسها على عناوين URL متعددة.
حذف موقع إلكتروني ثانوي
حذف المواقع الإلكترونية غير المرغوب فيها من مشروع Firebase باستخدام أحد الخيارات التالية الطرق:
استخدام سير العمل في صفحة Hosting لوحدة تحكّم Firebase
استخدِم الأمر Firebase CLI:
firebase hosting:sites:delete SITE_ID
استخدام Hosting REST API:
projects.sites.delete
تجدر الإشارة إلى أنه لا يمكنك حذف الموقع الإلكتروني التلقائي، الذي له نفس SITE_ID
مثل
رقم تعريف مشروع Firebase.
الخطوة 3: إعداد نشر أهداف لمواقعك الإلكترونية
عندما يكون لديك مواقع إلكترونية متعددة وكنت تُنفّذ أوامر نشر Firebase CLI، يحتاج
CLI إلى طريقة للتواصل بشأن الإعدادات التي يجب نشرها على كل
موقع إلكتروني. من خلال أهداف النشر، يمكنك تحديد
موقع إلكتروني محدّد يتضمّن TARGET_NAME
في
ملف إعداد firebase.json
وفي Firebase أوامر واجهة سطر الأوامر
لاختبارها أو نشرها على مواقعك الإلكترونية
لإنشاء هدف نشر وتطبيق TARGET_NAME
على موقع إلكتروني تابع لـ Hosting، شغِّل
أمر CLI التالي من جذر دليل المشروع:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
أماكن ظهور المَعلمات:
TARGET_NAME — اسم فريد (حددته بنفسك) الموقع الإلكتروني Hosting الذي تريد النشر عليه
RESOURCE_IDENTIFIER —
SITE_ID
لموقع Hosting الإلكتروني مُدرَجة في مشروعك على Firebase
على سبيل المثال، إذا أنشأت موقعين (myapp-blog
وmyapp-app
) في
مشروع Firebase، يمكنك تطبيق TARGET_NAME
فريد (blog
وapp
، على التوالي) على كل موقع إلكتروني من خلال تنفيذ الأوامر التالية:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
يتم تخزين إعدادات نشر الأهداف في ملف .firebaserc
في
دليل المشروع، لذا تحتاج فقط إلى إعداد نشر الأهداف مرة واحدة لكل
مشروعك.
الخطوة 4: تحديد إعدادات الاستضافة لكل موقع إلكتروني
استخدام TARGET_NAME
المطبَّقة في موقع إلكتروني عند تحديد مضيفه
والضبط في
ملف firebase.json
.
إذا كان ملف
firebase.json
يحدّد الإعدادات لعدة مواقع إلكترونية، استخدام تنسيق الصفيفة:{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] }
إذا كان ملف
firebase.json
يحدّد الإعدادات لموقع إلكتروني واحد فقط، ليس من الضروري استخدام تنسيق صفيف:{ "hosting": { "target": "blog", "public": "dist", // ... "rewrites": [...] } }
الخطوة 5: الاختبار على الجهاز، ومعاينة التغييرات، والنشر على مواقعك الإلكترونية
شغِّل أيًا من الأوامر التالية من جذر دليل المشروع المحلي.
الطلب | الوصف |
---|---|
firebase emulators:start --only hosting |
محاكاة محتوى Hosting وضبط إعداداته موقع إلكتروني تلقائي Hosting في موقع مستضاف محليًا عنوان URL |
firebase emulators:start --only hosting:TARGET_NAME |
لمحاكاة محتوى Hosting وضبط إعداداته موقع إلكتروني واحد (Hosting) على عنوان URL مستضاف محليًا |
firebase hosting:channel:deploy \ |
لنشر محتوى Hosting وضبط إعداداتها موقع Hosting الإلكتروني تلقائي في عنوان URL للمعاينة |
firebase hosting:channel:deploy \ |
نشر محتوى Hosting وإعدادات الموقع الإلكتروني Hosting المحدّد على عنوان URL لمعاينة |
firebase deploy --only hosting |
نشر محتوى Hosting وإعداداته في القناة المباشرة
من جميع مواقع الويب الـ Hosting التي تم ضبطها في
firebase.json
|
firebase deploy --only hosting:TARGET_NAME |
نشر محتوى Hosting وإعداداته على القناة المباشرة للموقع الإلكتروني Hosting المحدّد |
الطلب | الوصف |
---|---|
(لا يُنصح به، يمكنك استخدام emulators:start بدلاً من ذلك)firebase serve --only hosting
|
يعرض محتوى Hosting وإعداداته موقع إلكتروني تلقائي Hosting في موقع مستضاف محليًا عنوان URL |
(لا يُنصح به، يمكنك استخدام emulators:start بدلاً من ذلك)firebase serve --only hosting:TARGET_NAME
|
يعرض هذا العمود محتوى Hosting وإعداداته المحدّدة. موقع إلكتروني واحد (Hosting) على عنوان URL مستضاف محليًا |