چارچوب و ابزار برای میزبانی برنامه، چارچوب و ابزار برای میزبانی برنامه، چارچوب و ابزار برای میزبانی برنامه، چارچوب و ابزار برای میزبانی برنامه

Firebase App Hosting به طور خاص برای پشتیبانی از توسعه برنامه وب مدرن مبتنی بر چارچوب طراحی شده است. از این صفحه به عنوان مرجعی برای ابزارها و فریم ورک هایی که App Hosting مستقیماً پشتیبانی می کند، و همچنین به عنوان یک نقطه پرش برای یادگیری در مورد چارچوب ها و ابزارهای مرتبط استفاده کنید.

چارچوب های وب و App Hosting

App Hosting دو سطح وسیع از پشتیبانی را برای چارچوب‌های وب مدرن ارائه می‌کند: پشتیبانی از پیش‌تنظیم ساخت و استقرار، و پشتیبانی در سطح جامعه از طریق مشارکت‌های منبع باز مطابق با مشخصات بسته خروجی. در هر دو مورد، یک جزء آداپتور چارچوب ، ادغام یک چارچوب خاص با App Hosting را امکان پذیر می کند.

چارچوب هایی با پشتیبانی از ساخت و استقرار از پیش تنظیم شده

با پشتیبانی از ساخت و استقرار از پیش پیکربندی شده، Firebase با بررسی فایل package-lock.json یا سایر فایل‌های قفل مشخص می‌کند که از کدام چارچوب استفاده می‌کنید و فرآیندهای ساخت و استقرار برنامه شما را بهینه می‌کند. Google متعهد به حفظ پشتیبانی از این چارچوب‌ها است و تیم پشتیبانی Firebase می‌تواند گزارش‌های مشکل و درخواست‌های ویژگی را بپذیرد.

این سطح از پشتیبانی برای موارد زیر ارائه می شود:

  • Next.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 پیدا کنید. مسائل و درخواست‌های ویژگی برای چارچوب‌های پشتیبانی شده توسط جامعه باید به انجمن منبع باز یا نویسندگان چارچوب ارسال شود. در برخی موارد ممکن است Google بتواند کمک کند، اما انجمن اولین خط پشتیبانی از این آداپتورها است.

آداپتورهای چارچوب App Hosting

در App Hosting ، پشتیبانی از چارچوب های از پیش پیکربندی شده و پشتیبانی شده توسط جامعه از طریق آداپتورهای چارچوب ارائه می شود. آداپتورهای چارچوب App Hosting دو نقش کلیدی دارند:

  • آنها کد منبع شما و هر فایل پیکربندی خاص چارچوب (مانند next.config.js ) را تجزیه می کنند و یک بسته خروجی ایجاد می کنند که می تواند توسط بقیه زیرساخت های App Hosting پردازش شود.
  • آنها دستور ساخت برنامه شما را برای تولید دارایی های ثابت و ایجاد یک نسخه بهینه از برنامه شما برای تولید اجرا می کنند.

آداپتورهای Framework برنامه Node.js شما را با npm run build می‌سازند و بهترین کار را با اسکریپت‌های ساخت پیش‌فرض برای هر فریم‌ورک می‌کنند: next build برای Next.js و ng build برای Angular. App Hosting سعی می کند با دستورات ساخت سفارشی بسازد، اما نمی تواند موفقیت را تضمین کند. می توانید اسکریپت های ساخت و اجرا را در 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 و بالاتر
  • Angular 18.2.x و بالاتر
  • Node.js 18 و بالاتر

App Hosting به طور خودکار از نسخه های فریمورک تازه منتشر شده پشتیبانی فعال نمی کند. نسخه‌های جدیدتر از نسخه «فعال» تعیین‌شده فعلی ما در حالت «پیش‌نمایش» در نظر گرفته می‌شوند تا زمانی که برای App Hosting به‌عنوان «فعال» علامت‌گذاری شوند.

App Hosting از پشتیبانی طولانی مدت (LTS) برای آخرین نسخه فرعی یک نسخه اصلی به مدت یک سال از دوره پشتیبانی فعال آن پشتیبانی می کند، مشروط بر اینکه به طور مداوم به آخرین نسخه های پچ در آن نسخه جزئی به روز رسانی کنید. برای جزئیات مربوط به Next.js و Angular به جداول زیر مراجعه کنید.

برنامه پشتیبانی Next.js

نسخه وضعیت منسوخ شدن
13.5.x lts 9-10-2026
14.2.x lts 9-10-2026
15.0.x فعال نه قبل از 2025-10-9
15.1.x فعال نه قبل از 2025-10-9
15.2.x فعال -

برنامه پشتیبانی زاویه ای

نسخه وضعیت منسوخ شدن
18.2.x lts 9-10-2026
19.0.x فعال نه قبل از 2025-10-9
19.1.x فعال نه قبل از 2025-10-9
19.2.x فعال -

مدیران بسته

App Hosting از Cloud Native Buildpacks برای اجرای نصب وابستگی ها استفاده می کند و برنامه را با استفاده از npm، yarn یا pnpm می سازد. سایر مدیران بسته مانند JSR پشتیبانی نمی شوند.

NPM

  • NPM مدیر بسته پیش فرض است.
  • وابستگی های غیر تولیدی پس از موفقیت آمیز شدن ساخت حذف می شوند.
  • با استفاده از فیلد engines.npm در فایل package.json می توانید قسمت npm version را مشخص کنید.

نخ

  • زمانی که فایل yarn.lock را در پروژه خود قرار می دهید از Yarn استفاده می شود.
  • می توانید نسخه نخ را برای استفاده در قسمت engines.yarn یا packageManager فایل package.json خود تعیین کنید.
  • App Hosting از حالت Yarn2 PnP پشتیبانی می کند.

Pnpm

  • هنگامی که فایل pnpm-lock.yaml را در پروژه خود قرار می دهید، به جای آن از Pnpm استفاده می شود.
  • می توانید نسخه pnpm را در قسمت engines.pnpm یا packageManager فایل package.json خود تعیین کنید.
  • برای مثال کاری، نمونه-node-pnpm را ببینید. برنامه

Monorepos برای App Hosting

App Hosting از برنامه های مبتنی بر Nx پشتیبانی می کند. برای راهنمایی دقیق، استفاده از monorepos با App Hosting را ببینید.

نسخه های Nx زیر پشتیبانی می شوند:

نسخه وضعیت منسوخ شدن
19.5.x تعمیر و نگهداری 9-10-2025
19.6.x تعمیر و نگهداری 9-10-2025
19.7.x تعمیر و نگهداری 9-10-2025
19.8.x lts 9-10-2026
20.0.x فعال نه قبل از 2025-10-9
20.1.x فعال نه قبل از 2025-10-9
20.2.x فعال نه قبل از 2025-10-9
20.3.x فعال نه قبل از 2025-10-9
20.4.x فعال نه قبل از 2025-10-9
20.5.x فعال نه قبل از 2025-10-9
20.6.x فعال نه قبل از 2025-10-9
20.7.x فعال -

اگر برای انواع دیگر فضاهای کاری monorepo نیاز به پشتیبانی دارید، در Firebase UserVoice به ما اطلاع دهید.