Angularコンパイラのメタデータ抽出を高速化するため、@NgModule
、@Pipe
、@Component
、@Directive
、@Injectable
デコレーターは引数としてオブジェクトリテラルのみを受け付けます。
これはIvyにおける意図的な変更であり、View Engineよりもデコレーターの引数に対するより厳格な要件を課しています。 Ivyでは、クラス出力の他の場所に式を移動することによってデコレーターをコンパイルするため、このアプローチが必要となります。
エラーのデバッグ
すべての宣言を:
const moduleDefinition = {…}@NgModule(moduleDefinition)export class AppModule { constructor() {}}
をデコレーターに移します:
@NgModule({…})export class AppModule { constructor() {}}