Я создал библиотеку Angular, в которой есть несколько компонентов и один модуль для экспорта всех. Модуль этой библиотеки выглядит следующим образом:
import { NgModule, ModuleWithProviders } from '@angular/core';
import { FirstComponent } from './first';
import { IonicModule } from 'ionic-angular';
import { ProviderTest } from '../../providers/test/test'
import { SecondComponent } from '../second/second';
import { ThirdComponent } from '../third/third';
@NgModule({
imports: [
IonicModule
],
declarations: [
FirstComponent,
SecondComponent,
ThirdComponent
],
exports: [
FirstComponent,
SecondComponent,
ThirdComponent
],
entryComponents: [
FirstComponent,
SecondComponent,
ThirdComponent
]
})
export class ComponentModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: ComponentModule,
providers: [ProviderTest]
};
}
}
Моя проблема в том, что когда я пытаюсь использовать эту библиотеку в своем проекте, я получаю следующее:
Error: Uncaught (in promise): Error: No component factory found for SecondComponent. Did you add it to @NgModule.entryComponents?
Я видел похожие вопросы, в которых говорится, что я добавляю ComponentModule
к объявлениям модуля, в котором я хочу использовать эту библиотеку, но если я это делаю, я получаю эту ошибку:
Error: Uncaught (in promise): Error: Unexpected module 'ComponentModule' declared by the module 'TestPageModule'. Please add a @Pipe/@Directive/@Component annotation.
Модуль моего TestPageModule
сейчас таков:
@NgModule({
declarations: [
TestPage,
ComponentModule
],
imports: [
IonicPageModule.forChild(TestPage),
ComponentModule
],
})
export class TestPageModule {}
Кто-нибудь знает, в чем проблема? SecondComponent
- это модал, только в случае его использования. Кроме того, это происходит только при использовании отложенной загрузки.
Спасибо.