首页 文章

Angular 6.1 StaticInjectorError

提问于
浏览
-1

当我在角度ng服务中运行cmd时,应用程序停止加载,我得到下面的错误 .

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

3 回答

  • 3

    静态注入器错误通常在定义类时上升,并且不可用于根模块的执行 . 例如,您有A类是B类和C类的父模块.C类是在B类内部访问的,但C类未定义为父级内的提供者,在这种情况下会弹出此错误 .

    对于您的特定情况:AuthService是子项,它未作为AuthModule中的提供程序添加 .

    从'./Path'导入;

    并在提供程序数组中添加AuthService将修复问题 .

  • 0

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

    import { NgModule } from '@angular/core';
    
    import { AuthService } from 'PATH';
    
    @NgModule({
      providers: [AuthService],
    })
    export class YOURMODULE{
    }
    

    了解有关提供商的更多信息:https://angular.io/guide/providers

  • 0

    尝试将Http更改为HttpClient,如Angular更新指南https://update.angular.io/中所述

相关问题