Encyclopédie des erreurs

Argument non littéral

Pour accélérer l'extraction des métadonnées dans le compilateur Angular, les décorateurs @NgModule, @Pipe, @Component, @Directive et @Injectable n'acceptent que des littéraux d'objet comme arguments.

Il s'agit d'un changement intentionnel d'Ivy, qui impose aux arguments des décorateurs des exigences plus strictes que View Engine. Ivy a besoin de cette approche, car il compile les décorateurs en déplaçant les expressions vers d'autres emplacements dans la classe générée.

Déboguer l'erreur

Déplacez toutes les déclarations :

const moduleDefinition = {…}

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

dans le décorateur :

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