0

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
  ]...
1
  • Import them where they are needed. Commented Jan 22, 2021 at 20:55

2 Answers 2

1

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

Sign up to request clarification or add additional context in comments.

2 Comments

Thanks. But whats the benefit there? So I will inject all the modules in the feature even if i only need one of the shared module (e.g not every feature will need HttClient)
You'r welcome I mean import shared module in all modules that need shared module
1

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.