sampa
sampa

Reputation: 639

Angular import module in AppModule or FeatureModule

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

Answers (2)

misha1109
misha1109

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

Esraa Gamal
Esraa Gamal

Reputation: 11

make shared module and put common modules like HttpClientModule inside it then import shared module inside every feature module

Upvotes: 1

Related Questions