Angular 6.1 静态注入器错误
Angular 6.1 StaticInjectorError
当我在angular ng serve 中运行 cmd 时,应用程序停止加载并且出现以下错误。
ERROR Error: Uncaught (in promise): Error:
StaticInjectorError(AppModule)[AuthService -> Http]:
StaticInjectorError(Platform: core)[AuthService -> Http]:
NullInjectorError: No provider for Http!
Error: StaticInjectorError(AppModule)[AuthService -> Http]:
StaticInjectorError(Platform: core)[AuthService -> Http]:
NullInjectorError: No provider for Http!
at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get
(core.js:979)
at resolveToken (core.js:1232)
您必须在 module/component 级别注册您的 DI。否则你会看到这种类型的错误信息。
import { NgModule } from '@angular/core';
import { AuthService } from 'PATH';
@NgModule({
providers: [AuthService],
})
export class YOURMODULE{
}
阅读有关提供者的更多信息:https://angular.io/guide/providers
尝试按照 Angular 更新指南中的说明将 Http 更改为 HttpClient
https://update.angular.io/
静态注入器错误通常在定义 class 并且不可用于根模块执行时出现。例如,您有 Class A 是 Class B 和 Class C 的父模块。Class C 在 Class B 内部被访问,但是 Class C 未定义为父级内部的提供程序,在这种情况下会弹出此错误。
对于您的特定情况:AuthService 是子项,它没有作为提供者添加到 AuthModule 中。
import { AuthService } from './Path';
并在 providers 数组中添加 AuthService 将解决问题。
当我在angular ng serve 中运行 cmd 时,应用程序停止加载并且出现以下错误。
ERROR Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[AuthService -> Http]: StaticInjectorError(Platform: core)[AuthService -> Http]: NullInjectorError: No provider for Http! Error: StaticInjectorError(AppModule)[AuthService -> Http]: StaticInjectorError(Platform: core)[AuthService -> Http]: NullInjectorError: No provider for Http! at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get (core.js:979) at resolveToken (core.js:1232)
您必须在 module/component 级别注册您的 DI。否则你会看到这种类型的错误信息。
import { NgModule } from '@angular/core';
import { AuthService } from 'PATH';
@NgModule({
providers: [AuthService],
})
export class YOURMODULE{
}
阅读有关提供者的更多信息:https://angular.io/guide/providers
尝试按照 Angular 更新指南中的说明将 Http 更改为 HttpClient https://update.angular.io/
静态注入器错误通常在定义 class 并且不可用于根模块执行时出现。例如,您有 Class A 是 Class B 和 Class C 的父模块。Class C 在 Class B 内部被访问,但是 Class C 未定义为父级内部的提供程序,在这种情况下会弹出此错误。
对于您的特定情况:AuthService 是子项,它没有作为提供者添加到 AuthModule 中。
import { AuthService } from './Path';
并在 providers 数组中添加 AuthService 将解决问题。