Next.js را ادغام کنید

با استفاده از Firebase CLI، می‌توانید برنامه‌های وب Next.js خود را در Firebase مستقر کرده و با Firebase Hosting به آنها سرویس دهید.

ارائه محتوای استاتیک

پس از مقداردهی اولیه Firebase، می‌توانید محتوای استاتیک را با دستور استاندارد Deployment ارائه دهید:

firebase deploy

اگر برنامه شما شامل منطق پویای سمت سرور باشد، رابط خط فرمان (CLI) آن منطق را در Cloud Functions for Firebase مستقر می‌کند. می‌توانید برنامه مستقر شده خود را در سایت زنده آن مشاهده کنید .

پیش‌رندر محتوای پویا

رابط خط فرمان Firebase CLI) استفاده از getStaticProps و getStaticPaths را تشخیص می‌دهد.

اختیاری: ادغام با Firebase JS SDK

هنگام گنجاندن متدهای Firebase JS SDK در بسته‌های سرور و کلاینت، قبل از استفاده از محصول، با بررسی isSupported() از خطاهای زمان اجرا جلوگیری کنید. همه محصولات در همه محیط‌ها پشتیبانی نمی‌شوند.

اختیاری: با Firebase Admin SDK ادغام شود

بسته‌های SDK مدیریت در صورت قرار گرفتن در ساختار مرورگر شما با شکست مواجه می‌شوند؛ فقط درون getStaticProps و getStaticPaths به آنها ارجاع دهید.

ارائه محتوای کاملاً پویا (SSR)

رابط خط فرمان Firebase CLI) استفاده از getServerSideProps را تشخیص می‌دهد. در چنین مواردی، رابط خط فرمان توابع را در Cloud Functions for Firebase مستقر می‌کند تا کد سرور پویا را اجرا کند. می‌توانید اطلاعات مربوط به این توابع، مانند پیکربندی دامنه و زمان اجرا، را در کنسول فایربیس مشاهده کنید.

پیکربندی رفتار Hosting با next.config.js

بهینه‌سازی تصویر

استفاده از Next.js Image Optimization پشتیبانی می‌شود، اما باعث ایجاد یک تابع (در Cloud Functions for Firebase ) می‌شود، حتی اگر از SSR استفاده نکنید.

تغییر مسیرها، بازنویسی‌ها و سرصفحه‌ها

رابط خط فرمان Firebase CLI) به ریدایرکت‌ها ، بازنویسی‌ها و هدرهای موجود در next.config.js احترام می‌گذارد و آنها را در زمان استقرار به پیکربندی معادل Firebase Hosting مربوطه تبدیل می‌کند. اگر یک ریدایرکت، بازنویسی یا هدر Next.js نتواند به یک هدر معادل Firebase Hosting تبدیل شود، به عقب برمی‌گردد و یک تابع می‌سازد - حتی اگر از بهینه‌سازی تصویر یا SSR استفاده نمی‌کنید.

اختیاری: ادغام با احراز هویت فایربیس

ابزار استقرار Firebase که از چارچوب وب آگاه است، به طور خودکار وضعیت کلاینت و سرور را با استفاده از کوکی‌ها همگام نگه می‌دارد. روش‌هایی برای دسترسی به زمینه احراز هویت در SSR ارائه شده است:

  • شیء Express res.locals به صورت اختیاری شامل یک نمونه احراز هویت شده از برنامه Firebase ( firebaseApp ) و کاربر فعلی وارد شده ( currentUser ) خواهد بود. این مورد را می‌توان در getServerSideProps مشاهده کرد.
  • نام احراز هویت شده‌ی برنامه‌ی Firebase در کوئری مسیر ( __firebaseAppName ) ارائه شده است. این امر امکان ادغام دستی را در حین انجام موارد زیر فراهم می‌کند:
// get the authenticated Firebase App
const firebaseApp = getApp(useRouter().query.__firebaseAppName);