#angular #typescript #angular8
#angular #typescript #angular8
Вопрос:
Я разрабатываю приложение angular версии 8.3. Приложение работает в режиме разработки. Но у меня есть динамический компонент, созданный с помощью следующей команды.
getComponentFactory(name: string, resolver: ComponentFactoryResolver) {
const factories = Array.from<any>(resolver['_factories'].keys());
const factoryClass = <Type<any>>factories.find((item: any) => item.name === name);
return resolver.resolveComponentFactory(factoryClass);
}
Этот метод находит компонент, имя которого равно name
параметру. Но когда я создаю приложение в режиме —prod
ng build --prod --base-href="//"
Приложение выдает ошибку:
Ошибка: фабрика компонентов не найдена для неопределенного. Вы добавили это в @NgModule.Входные компоненты?
Я думаю, что режим prod приложения искажает имя компонента, но мой параметр имени компонента не искажен.
Как я могу решить эту проблему? Могу ли я использовать не искажать имена компонентов?
Комментарии:
1. проверьте
app.module.ts
, импортирован ли компонент туда, а также в массив объявлений2. да, это импортированные, объявленные и входные компоненты.