Сначала я упомяну, что выполнил предварительное условие и выполнил поиск в google и S / O для решения и обнаружил, что это либо обобщенная ошибка c, связанная с ошибкой при обновлении модулей третьей части, либо определенные решения не помогают. Я следовал за ними до сих пор безрезультатно.
Я получаю:
Ошибка при ошибке во время компиляции шаблона Вызовы функций «AppModule» не поддерживаются в декораторах, но вызывается «XXXModule».
Я знаю, что мне не разрешено иметь функции в объявлениях NgModule, но я явно перечисляю использование фабрики на провайдере. Кроме этого нет функции для Root.
Может кто-нибудь указать мне правильное направление?
Я пытаюсь зарегистрировать модуль в AppModule
app.module.ts:
import etc... all done
@NgModule({
imports: [
XXXModule.forRoot(),
BrowserModule,
xxx.module.ts:
@NgModule({
imports: [
CommonModule,
HttpClientModule
],
providers: [
AuthenticationService,
{ provide: CookieService, useFactory: cookieServiceFactory }
]
})
export class XXXModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: XXXModule,
providers: [
{ provide: XXXConfig, useFactory: xxxFactory}
]
}
}
}
У меня также есть заводы в тот же файл:
export function cookieServiceFactory() { return new CookieService(); }
export function xxxFactory(): XXXConfig{
return {authUrl: `${environment.apiUrl}/api/authorisation`};
}
В отдельном файле Я определяю XXXConfig, это импортируется нормально.
export class XXXConfig {
authUrl: string;
}