Reputation: 639
Should common modules like HttpClientModule be imported in every feature module - or should they be imported only once in AppModule?
Im thinking about if HttpClientModule will be imported in every feature module, will it be loaded multiple times if AppComponent imports multple of these feature modules? And if HttpClientModule will only be imported in AppModule isn't it like that the reusability of the feature module ist lost - because it needs to import HttpClientModule to be able to standalone?
Feature Module:
@NgModule({
declarations: [AComponent],
imports: [
CommonModule,
FormsModule,
HttpClientModule
],
exports: [
AComponent
]...
App Module:
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
CoreModule,
HttpClientModule,
FeatureModule
]...
Upvotes: 0
Views: 1269
Reputation: 378
You should use an Angular service for that with provideIn set to 'root'. Then inject that service to each component that should use it. That way that code will be imported to your bundle only once.
Upvotes: 1
Reputation: 11
make shared module and put common modules like HttpClientModule inside it then import shared module inside every feature module
Upvotes: 1