شما می توانید یک یا چند سایت Firebase Hosting را در یک پروژه Firebase راه اندازی کنید. از آنجایی که سایت ها همه در یک پروژه Firebase هستند، همه سایت ها می توانند به منابع Firebase دیگر پروژه دسترسی داشته باشند.
- هر سایتی تنظیمات میزبانی مخصوص به خود را دارد.
- هر سایت مجموعه ای از مطالب خود را میزبانی می کند.
- هر سایت می تواند یک یا چند دامنه مرتبط داشته باشد.
با راه اندازی چندین سایت Hosting در یک پروژه Firebase، می توانید به راحتی منابع Firebase را بین سایت ها و برنامه های مرتبط به اشتراک بگذارید. به عنوان مثال، اگر وبلاگ، پنل مدیریت و برنامه عمومی خود را به عنوان سایت های جداگانه در یک پروژه Firebase راه اندازی کنید، همه آنها می توانند پایگاه داده کاربری Firebase Authentication یکسان را به اشتراک بگذارند، در حالی که دامنه یا محتوای منحصر به فرد خود را نیز دارند.
مرحله 1 : نسخه Firebase CLI خود را به روز کنید
با به روز رسانی به آخرین نسخه Firebase CLI به جدیدترین ویژگی های Firebase Hosting دسترسی پیدا کنید.
مرحله 2 : سایت های اضافی را اضافه کنید
سایت های اضافی را با استفاده از یکی از روش های زیر به پروژه Firebase اضافه کنید:
از گردش کار در صفحه Hosting کنسول Firebase استفاده کنید
از دستور Firebase CLI استفاده کنید:
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 در سطح جهانی منحصر به فرد باشد
حذف یک سایت ثانویه
از گردش کار در صفحه Hosting کنسول Firebase استفاده کنید از دستور Firebase CLI استفاده کنید: firebase hosting:sites:delete SITE_ID
از Hosting REST API استفاده کنید: projects.sites.delete
SITE_ID
ID پروژه Firebase شما است، حذف کنید.
مرحله 3 : اهداف استقرار را برای سایت های خود تنظیم کنید
TARGET_NAME
در فایل پیکربندی firebase.json
و در دستورات Firebase CLI خود برای آزمایش یا استقرار در سایت های خود شناسایی کنید.
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 : پیکربندی میزبانی هر سایت را تعریف کنید
firebase.json
خود تعریف می کنید، از TARGET_NAME
اعمال شده یک سایت استفاده کنید.
اگر فایل 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 میزبانی محلی ارائه می دهد. |