Firebase App Hosting به طور خاص برای پشتیبانی از توسعه برنامههای وب مدرن مبتنی بر چارچوب طراحی شده است. از این صفحه به عنوان مرجعی برای ابزارها و چارچوبهایی که App Hosting مستقیماً از آنها پشتیبانی میکند، و همچنین به عنوان نقطه شروعی برای یادگیری در مورد چارچوبها و ابزارهای مرتبط استفاده کنید.
چارچوبهای وب و App Hosting
App Hosting دو سطح گسترده از پشتیبانی را برای چارچوبهای وب مدرن ارائه میدهد: پشتیبانی از ساخت و استقرار از پیش پیکربندیشده، و پشتیبانی در سطح جامعه از طریق مشارکتهای متنباز مطابق با مشخصات بسته خروجی. در هر دو مورد، یک جزء آداپتور چارچوب، ادغام یک چارچوب خاص با App Hosting را امکانپذیر میکند.
چارچوبهایی با پشتیبانی از ساخت و استقرار از پیش پیکربندیشده
با پشتیبانی از پیش پیکربندیشده برای ساخت و استقرار، فایربیس با بررسی فایل package-lock.json یا سایر فایلهای قفل، فریمورکی را که استفاده میکنید شناسایی میکند و فرآیندهای ساخت و استقرار را برای برنامه شما بهینه میکند. گوگل متعهد به حفظ پشتیبانی از این فریمورکها است و تیم پشتیبانی فایربیس میتواند گزارشهای مشکل و درخواستهای ویژگی را بپذیرد.
این سطح از پشتیبانی برای موارد زیر ارائه میشود:
- بعدی.js
- زاویه دار
برای جزئیات بیشتر در مورد نسخههای خاص و سطوح پشتیبانی، به برنامههای پشتیبانی مراجعه کنید.
اگر سعی کنید یک برنامه Node.js را که فایل قفل ندارد، مستقر کنید، App Hosting در ساخت و اجرای برنامه شما ناموفق خواهد بود. میتوانید با اجرای npm install در دایرکتوری ریشه خود package-lock.json ایجاد کنید.
چارچوبهای پشتیبانیشده توسط جامعه
علاوه بر Next.js و Angular، App Hosting از هر چارچوب وب که قادر به ارائه خروجی ساخت مطابق با مشخصات بسته خروجی ما باشد، پشتیبانی میکند. نویسندگان چارچوب میتوانند از مشخصات بسته خروجی برای اطمینان از پشتیبانی چارچوب خود توسط App Hosting استفاده کنند. به عنوان مثال، چارچوب محبوب Nuxt توسط تیم Nitro پشتیبانی میشود که یک آداپتور Firebase برای فعال کردن استقرار برنامه Nuxt در App Hosting ساخته است.
اگر مایلید فریمورکهای بیشتری که توسط App Hosting پشتیبانی میشوند را ببینید، میتوانید یک آداپتور فریمورک ایجاد کنید، یا با توسعهدهندگان فریمورک تماس بگیرید تا خروجیهای ساخت را به فرمت App Hosting تبدیل کنند. آداپتورهای Next.js و Angular نمونههای مرجع خوبی برای هر کسی هستند که میخواهد یک آداپتور ایجاد کند.
اطلاعات مربوط به چارچوبهای پشتیبانیشده توسط جامعه را میتوان در Firebase Open Source یافت. مشکلات و درخواستهای ویژگی برای چارچوبهای پشتیبانیشده توسط جامعه باید به جامعه متنباز یا نویسندگان چارچوب ارسال شود. در برخی موارد، گوگل ممکن است بتواند کمک کند، اما جامعه اولین خط پشتیبانی برای این آداپتورها است.
آداپتورهای چارچوب App Hosting
در App Hosting ، پشتیبانی از هر دو چارچوب از پیش پیکربندی شده و پشتیبانی شده توسط جامعه از طریق آداپتورهای چارچوب ارائه میشود. آداپتورهای چارچوب App Hosting دو نقش کلیدی دارند:
- آنها کد منبع شما و هرگونه فایل پیکربندی مخصوص فریمورک (مانند
next.config.js) را تجزیه میکنند و یک بسته خروجی تولید میکنند که میتواند توسط بقیه زیرساخت App Hosting پردازش شود. - آنها دستور ساخت برنامه شما را اجرا میکنند تا فایلهای استاتیک تولید کنند و یک نسخه بهینه از برنامه شما را برای تولید آماده کنند.
آداپتورهای فریمورک، برنامه Node.js شما را با npm run build میسازند، که با اسکریپتهای ساخت پیشفرض برای هر فریمورک بهترین عملکرد را دارند: next build برای Next.js و ng build برای Angular. App Hosting سعی میکند با دستورات ساخت سفارشی، ساختها را انجام دهد، اما نمیتواند به طور قابل اعتمادی موفقیت را تضمین کند. میتوانید اسکریپتهای build و run را در apphosting.yaml لغو کنید.
منبع آداپتورهای Next.js و Angular در firebase-framework-tools موجود است.
زمانهای اجرا برای App Hosting
پس از ساخت و انتشار توسط App Hosting ، برنامه Node.js شما در نسخه Cloud Run اجرا میشود. بر این اساس، نسخه زمان اجرا برای برنامه شما باید هم در محدوده پشتیبانی Cloud Run و هم در محدوده چارچوب وب انتخابی شما باشد. برای پشتیبانی از پیش پیکربندی شده برای Angular و Next.js، این بدان معناست که نسخههای Node.js زیر پشتیبانی میشوند:
- Next.js 13.5.x و بالاتر
- انگولار ۱۸.۲.x و بالاتر
- Node.js نسخه ۲۰ و بالاتر
App Hosting به طور خودکار پشتیبانی فعالی برای نسخههای تازه منتشر شدهی فریمورک ارائه نمیدهد. نسخههای جدیدتر از نسخه «فعال» فعلی ما، تا زمانی که رسماً به عنوان «فعال» برای App Hosting علامتگذاری نشوند، در حالت «پیشنمایش» در نظر گرفته میشوند.
App Hosting پشتیبانی بلندمدت (LTS) را برای آخرین نسخه فرعی یک نسخه اصلی به مدت یک سال از دوره پشتیبانی فعال آن ارائه میدهد، مشروط بر اینکه شما به طور مداوم آخرین نسخههای پچ را در آن نسخه فرعی بهروزرسانی کنید. برای جزئیات بیشتر در مورد Next.js و Angular به جداول زیر مراجعه کنید.
برنامه پشتیبانی Next.js
| نسخه | وضعیت | منسوخ شدن |
|---|---|---|
| ۱۳.۵.x | ال تی اس | ۲۰۲۶-۱۰-۹ |
| ۱۴.۲.x | ال تی اس | ۲۰۲۶-۱۰-۹ |
| ۱۵.۰.x | فعال | نه قبل از 2025-10-9 |
| ۱۵.۱.x | فعال | نه قبل از 2025-10-9 |
| ۱۵.۲.x | فعال | - |
برنامه پشتیبانی انگولار
| نسخه | وضعیت | منسوخ شدن |
|---|---|---|
| ۱۸.۲.x | ال تی اس | ۲۰۲۶-۱۰-۹ |
| ۱۹.۰.x | فعال | نه قبل از 2025-10-9 |
| ۱۹.۱.x | فعال | نه قبل از 2025-10-9 |
| ۱۹.۲.x | فعال | - |
مدیران بسته
App Hosting از Cloud Native Buildpacks برای اجرای نصب وابستگیها استفاده میکند و برنامه را با استفاده از npm، yarn یا pnpm میسازد. سایر ابزارهای مدیریت بسته مانند JSR پشتیبانی نمیشوند.
ان پی ام
- NPM مدیر بسته پیشفرض است.
- وابستگیهای غیر تولیدی پس از موفقیتآمیز بودن ساخت، حذف میشوند.
- شما میتوانید بخش نسخه npm را با استفاده از فیلد
engines.npmدر فایلpackage.jsonخود مشخص کنید.
نخ
- وقتی فایل
yarn.lockرا در پروژه خود قرار میدهید، به جای آن از Yarn استفاده میشود. - میتوانید نسخه yarn مورد استفاده را در فیلد
engines.yarnیاpackageManagerاز فایلpackage.jsonخود مشخص کنید. - App Hosting از حالت Yarn2 PnP پشتیبانی میکند.
پی ان پی ام
- وقتی فایل
pnpm-lock.yamlرا در پروژه خود وارد میکنید، از Pnpm به جای آن استفاده میشود. - شما میتوانید یک نسخه از pnpm را در فیلد
engines.pnpmیاpackageManagerاز فایلpackage.jsonخود مشخص کنید. - برای یک مثال کاربردی، به برنامه sample-node-pnpm . مراجعه کنید.
مونورپوز برای App Hosting
App Hosting از برنامههای مبتنی بر Nx پشتیبانی میکند. برای راهنمایی دقیقتر به بخش «استفاده از مونوریپوز با App Hosting مراجعه کنید.
نسخههای Nx زیر پشتیبانی میشوند:
| نسخه | وضعیت | منسوخ شدن |
|---|---|---|
| ۱۹.۵.x | تعمیر و نگهداری | ۲۰۲۵-۱۰-۹ |
| ۱۹.۶.x | تعمیر و نگهداری | ۲۰۲۵-۱۰-۹ |
| ۱۹.۷.x | تعمیر و نگهداری | ۲۰۲۵-۱۰-۹ |
| ۱۹.۸.x | ال تی اس | ۲۰۲۶-۱۰-۹ |
| ۲۰.۰.x | فعال | نه قبل از 2025-10-9 |
| ۲۰.۱.x | فعال | نه قبل از 2025-10-9 |
| ۲۰.۲.x | فعال | نه قبل از 2025-10-9 |
| ۲۰.۳.x | فعال | نه قبل از 2025-10-9 |
| ۲۰.۴.x | فعال | نه قبل از 2025-10-9 |
| ۲۰.۵.x | فعال | نه قبل از 2025-10-9 |
| ۲۰.۶.x | فعال | نه قبل از 2025-10-9 |
| ۲۰.۷.x | فعال | — |
اگر به پشتیبانی از انواع دیگر فضاهای کاری monorepo نیاز دارید، در Firebase UserVoice به ما اطلاع دهید.