UNPKG

@delon/cli

Version:
77 lines (73 loc) 3 kB
import { NgModule, LOCALE_ID, APP_INITIALIZER, Injector } from '@angular/core'; import { HttpClient, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; <% if (delonElectron) { %>import { ElectronModule } from './electron/electron.module';<% } %> import { DelonModule } from './delon.module'; import { CoreModule } from './core/core.module'; import { SharedModule } from './shared/shared.module'; import { AppComponent } from './app.component'; import { RoutesModule } from './routes/routes.module'; import { LayoutModule } from './layout/layout.module'; import { StartupService } from '@core/startup/startup.service'; import { DefaultInterceptor } from '@core/net/default.interceptor'; import { SimpleInterceptor } from '@delon/auth'; // angular i18n import { registerLocaleData } from '@angular/common'; import localeZhHans from '@angular/common/locales/zh-Hans'; registerLocaleData(localeZhHans);<% if (delonI18n) { %> // i18n import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { ALAIN_I18N_TOKEN } from '@delon/theme'; import { I18NService } from '@core/i18n/i18n.service'; // AoT requires an exported function for factories export function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http, `assets/i18n/`, '.json'); }<% } %> <% if (jsonSchema) { %> // JSON-Schema form import { JsonSchemaModule } from '@shared/json-schema/json-schema.module';<% } %> export function StartupServiceFactory(startupService: StartupService): Function { return () => startupService.load(); } @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, BrowserAnimationsModule, HttpClientModule,<% if (delonElectron) { %> ElectronModule,<% } %> DelonModule.forRoot(), CoreModule, SharedModule, LayoutModule, <% if (jsonSchema) { %>JsonSchemaModule,<% } %> RoutesModule<% if (delonI18n) { %>, // i18n TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] } })<% } %> ], providers: [ { provide: LOCALE_ID, useValue: 'zh-Hans' }, { provide: HTTP_INTERCEPTORS, useClass: SimpleInterceptor, multi: true}, { provide: HTTP_INTERCEPTORS, useClass: DefaultInterceptor, multi: true},<% if (delonI18n) { %> { provide: ALAIN_I18N_TOKEN, useClass: I18NService, multi: false },<% } %> StartupService, { provide: APP_INITIALIZER, useFactory: StartupServiceFactory, deps: [StartupService], multi: true } ], bootstrap: [AppComponent] }) export class AppModule { }