ارائه محتوای استاتیک
شما میتوانید محتوای استاتیک را با دستور استقرار استاندارد ارائه دهید:
firebase deploy
پیشرندر محتوای پویا
برای پیشرندر محتوای پویا در انگولار، باید Angular SSR را راهاندازی کنید.
ng add @angular/ssr
برای اطلاعات بیشتر به راهنمای پیشرندرینگ انگولار (SSG) مراجعه کنید.
اختیاری: اضافه کردن یک ماژول سرور
استقرار
وقتی با firebase deploy مستقر میشوید، Firebase بسته مرورگر، بسته سرور شما را میسازد و برنامه را پیشرندر میکند. این عناصر در Hosting و Cloud Functions for Firebase مستقر میشوند.
استقرار سفارشی
رابط خط فرمان Firebase فرض میکند که شما یک برنامهی واحد تعریفشده در angular.json خود با پیکربندی ساخت در محیط عملیاتی دارید.
اگر نیاز به تنظیم فرضیات CLI دارید، میتوانید از متغیر محیطی FIREBASE_FRAMEWORKS_BUILD_TARGET استفاده کنید یا AngularFire را اضافه کرده و angular.json خود را تغییر دهید:
{
"deploy": {
"builder": "@angular/fire:deploy",
"options": {
"version": 2,
"buildTarget": "OVERRIDE_YOUR_BUILD_TARGET"
}
}
}
اختیاری: ادغام با Firebase JS SDK
هنگام گنجاندن متدهای Firebase JS SDK در بستههای سرور و کلاینت، قبل از استفاده از محصول، با بررسی isSupported() از خطاهای زمان اجرا جلوگیری کنید. همه محصولات در همه محیطها پشتیبانی نمیشوند.
اختیاری: با Firebase Admin SDK ادغام شود
اگر بستههای مدیریتی در ساخت مرورگر شما گنجانده شوند، با شکست مواجه میشوند، بنابراین ارائه آنها در ماژول سرور خود و تزریق به عنوان یک وابستگی اختیاری را در نظر بگیرید:
// your-component.ts
import type { app } from 'firebase-admin';
import { FIREBASE_ADMIN } from '../app.module';
@Component({...})
export class YourComponent {
constructor(@Optional() @Inject(FIREBASE_ADMIN) admin: app.App) {
...
}
}
// app.server.module.ts
import * as admin from 'firebase-admin';
import { FIREBASE_ADMIN } from './app.module';
@NgModule({
…
providers: [
…
{ provide: FIREBASE_ADMIN, useFactory: () => admin.apps[0] || admin.initializeApp() }
],
})
export class AppServerModule {}
// app.module.ts
import type { app } from 'firebase-admin';
export const FIREBASE_ADMIN = new InjectionToken<app.App>('firebase-admin');
ارائه محتوای کاملاً پویا با SSR
اختیاری: ادغام با احراز هویت فایربیس
ابزار استقرار Firebase که از چارچوب وب آگاه است، به طور خودکار وضعیت کلاینت و سرور را با استفاده از کوکیها همگام نگه میدارد. شیء Express res.locals به صورت اختیاری شامل یک نمونه Firebase App احراز هویت شده ( firebaseApp ) و کاربر فعلی وارد شده ( currentUser ) خواهد بود. این میتواند از طریق توکن REQUEST (که از @nguniversal/express-engine/tokens صادر شده است) به ماژول شما تزریق شود.