Хорошо, я исправил это!
В своем App.module.ts я заменил объявление своих компонентов, импортировав их модули.
Итак, теперь мой App.module.ts выглядит так:
import { TooltipComponentModule, AchievementComponentModule } from './components'
@NgModule({
declarations: [...],
imports: [
TooltipComponentModule,
AchievementComponentModule
],
exports: [...],
providers: [...],
bootstrap: [...],
entryComponents: [...]
})
export class AppModule { }
То же самое для всех остальных компонентов, которые я импортировал / декларировал.
Чтобы избежать слишком большого дублирования кода, я создал файл для его упаковки. Например, вот мой материал.module.ts:
import { NgModule } from '@angular/core';
import {
MatButtonModule,
MatIconModule,
MatDialogModule,
MatFormFieldModule,
MatInputModule,
MatChipsModule,
MatSelectModule
} from '@angular/material';
const modules = [
MatButtonModule,
MatIconModule,
MatDialogModule,
MatFormFieldModule,
MatInputModule,
MatChipsModule,
MatSelectModule,
MatInputModule
]
@NgModule({
imports: [... modules],
exports: [... modules]
})
export class MaterialModule {}
Так что теперь --prod (который выполняет --aot) и обычные сборки работают!