Angular 6.1 StaticInjectorError

时间:2018-05-16 01:24:53

标签: angular angular6

当我在角度ng服务中运行cmd时,应用程序停止加载,我收到以下错误。

  

错误错误:未捕获(在承诺中):错误:   StaticInjectorError(AppModule)[AuthService - > HTTP]:         StaticInjectorError(Platform:core)[AuthService - > HTTP]:           NullInjectorError:没有Http的提供者!       错误:StaticInjectorError(AppModule)[AuthService - > HTTP]:         StaticInjectorError(Platform:core)[AuthService - > HTTP]:           NullInjectorError:没有Http的提供者!           at NullInjector.push ../ node_modules/@angular/core/fesm5/core.js.NullInjector.get   (core.js:979)           at resolveToken(core.js:1232)

3 个答案:

答案 0 :(得分:6)

您必须在模块/组件级别注册DI。否则,您可以看到此类错误消息。

import { NgModule } from '@angular/core';

import { AuthService } from 'PATH';

@NgModule({
  providers: [AuthService],
})
export class YOURMODULE{
}

详细了解提供商:https://angular.io/guide/providers

答案 1 :(得分:0)

当定义了一个类并且根模块无法执行该类时,静态注入器错误通常会出现。例如,您有Class A是Class B和Class C的父模块。正在Class B内部访问Class C,但未将Class C定义为父内部的提供者,在这种情况下会弹出此错误。

对于您的特定情况:AuthService是子项,并且不会将其添加为AuthModule中的提供者。

  

从'./Path'导入{AuthService};

并在providers数组中添加AuthService将解决问题。

答案 2 :(得分:-1)

尝试按照Angular Update指南中所述将Http更改为HttpClient https://update.angular.io/