import { APP_INITIALIZER, NgModule } from '@angular/core'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { ModuleMapLoaderModule } from '@nguniversal/module-map-ngfactory-loader'; import { AuthService, LangService, STORAGE_CONFIG_TOKEN, TokenService, UniversalStorage } from '@rucken/core'; import { ThemesService } from '@rucken/web'; import { AppComponent } from './app.component'; import { AppModule } from './app.module'; import { initializeServerApp } from './utils/initialize-server-app'; @NgModule({ imports: [ FontAwesomeModule, AppModule, ServerModule, ModuleMapLoaderModule, ServerTransferStateModule, NoopAnimationsModule ], bootstrap: [AppComponent], providers: [ { provide: STORAGE_CONFIG_TOKEN, useClass: UniversalStorage }, { provide: APP_INITIALIZER, useFactory: initializeServerApp, multi: true, deps: [AuthService, TokenService, ThemesService, LangService] } ] }) export class AppServerModule {}