如何修复 Angular NullInjectorError: No provider for HttpClient!

如果你的 Angular 应用程序在 JS 控制台中看到以下错误:

angular_nullinjector_error_output.txt
main.ts:6 ERROR NullInjectorError: R3InjectorError(AppModule)[MyService -> HttpClient -> HttpClient -> HttpClient]:
  NullInjectorError: No provider for HttpClient!
    at NullInjector.get (core.mjs:7599:27)
    at R3Injector.get (core.mjs:8020:33)
    at R3Injector.get (core.mjs:8020:33)
    at R3Injector.get (core.mjs:8020:33)
    at injectInjectorOnly (core.mjs:634:33)
    at Module.ɵɵinject (core.mjs:638:60)
    at Object.MyService_Factory [as factory] (my.service.ts:8:38)
    at R3Injector.hydrate (core.mjs:8121:35)
    at R3Injector.get (core.mjs:8009:33)
    at ChainedInjector.get (core.mjs:12179:36)

你需要HttpClientModule 添加到你的 app.module.ts

首先,在 app.module.ts 顶部导入 HttpClientModule

app.module.ts
import { HttpClientModule } from '@angular/common/http';

之后,添加

app.module.ts
HttpClientModule,

到你的 @NgModuleimports: [...] 部分,例如:

app.module.ts
@NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    HttpClientModule,
    BrowserModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

之后,你的错误应该已经消失


Check out similar posts by category: Angular, Typescript