Angular 2 ng-bootstrap указывает, что корневой модуль необходимо зарегистрировать в imports
свойство корня NgModule
:
@NgModule({
declarations: [AppComponent, ...],
imports: [NgbModule.forRoot(), ...],
bootstrap: [AppComponent]
})
export class AppModule {}
При следовании руководству по стилю Angular 2 имеет ли смысл зарегистрировать NgbModule в модуле shared
или core
? Если да, то как можно выполнить forRoot()
для этого стороннего модуля, чтобы меня можно было использовать как часть SharedModule
, импортируемого в другие функциональные модули? Можно ли его зарегистрировать в качестве провайдера в CoreModule
, но будет ли синглтон разумным или даже возможным выбором для сторонней библиотеки, такой как ng-bootstrap?
@NgModule({
imports: [CommonModule, FormsModule, NgbModule],
declarations: [
FooComponent
],
providers: [FooService],
exports: [
CommonModule,
FormsModule,
FooComponent,
NgbModule
]
})
export class SharedModule {}
Вопрос в том, куда девать сторонние модули, если они будут повторно использоваться в выбранных функциональных компонентах приложения с целью сохранения «чистоты» базового модуля приложения за счет использования CoreModule и SharedModule, как показано в стиле гид.
Спасибо!