Ошибка при ошибке во время компиляции шаблона 'AppModule' Вызовы функций не поддерживаются в декораторах, но был вызван 'XXXModule' - PullRequest
1 голос
/ 06 февраля 2020

Сначала я упомяну, что выполнил предварительное условие и выполнил поиск в 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;
}

1 Ответ

0 голосов
/ 06 мая 2020

Это было решено. Код ссылался на неверный внутренний код. Как было упаковано ранее, импорт осуществлялся из разных мест. Как только они были исправлены в новом пакете, все работало нормально.

...