Выражения функций не поддерживаются в декораторах. Рассмотрите возможность изменения выражения функции в экспортируемую функцию.

Я пытаюсь включить angularivy в моем текущем проекте и во время сборки ng я получил эту ошибку.

ERROR in src\app\app.module.ts(172,19): Error during template compile of 'AppModule'
  Function expressions are not supported in decorators
    Consider changing the function expression into an exported function.
src/app/home/home.component.ts(95,4): error TS2554: Expected 2 arguments, but got 1.
src/app/home/home.component.ts(96,4): error TS2554: Expected 2 arguments, but got 1.
node_modules/ngx-bootstrap/timepicker/models/index.d.ts(3,22): error TS2307: Cannot find module '@angular/core/src/type'.
src/app/nomina/solicitudes/vacaciones/vacaciones.component.ts(56,4): error TS2554: Expected 2 arguments, but got 1.

Я проверил некоторые предложения, такие как создание функции в экспорте и использование ее снова, но ошибка изменилась, а не была решена.

  ],
  exports: [],
  entryComponents: [],
  providers: [
    AuthGuard, 
    { provide: LOCALE_ID, useValue: 'es' },
    CommonService, 
    {
      provide: NgbDateParserFormatter,
      useFactory: () => new CustomNgbDateParserFormatter('longDate')
    },

Может быть успешно построен, если ошибка решена

2 ответа

Попробуйте экспортировать такую ​​функцию, прежде чем объявить свой модуль

export function createCustomFormatter(): Function
{
  return () => new CustomNgbDateParserFormatter('longDate');
}

И затем использовать эту функцию в провайдере

providers: [
  CommonService, 
  {
    provide: NgbDateParserFormatter,
    useFactory: createCustomFormatter
  },

Замена () => {} с участием function() {} помогу.

Другие вопросы по тегам