Внести вклад
Энциклопедия ошибок

Аргумент не является литералом

Для ускорения извлечения метаданных в компиляторе Angular декораторы @NgModule, @Pipe, @Component, @Directive и @Injectable принимают в качестве аргументов только объектные литералы.

Это намеренное изменение в Ivy, которое устанавливает более строгие требования к аргументам декораторов по сравнению с View Engine. Ivy требует такого подхода, поскольку при компиляции декораторов он перемещает выражения в другие части выходного кода класса.

Отладка ошибки

Перенесите все объявления:

const moduleDefinition = {…}

@NgModule(moduleDefinition)
export class AppModule {
  constructor() {}
}

в декоратор:

@NgModule({…})
export class AppModule {
  constructor() {}
}