【问题标题】:NullInjectorError: No provider for e! in Angular 8NullInjectorError:没有 e 的提供者!在角 8
【发布时间】:2020-10-26 19:34:37
【问题描述】:

main-es2015.6f31d328c9edc909ac03.js:1 ERROR 错误:未捕获(承诺中):NullInjectorError:StaticInjectorError(i)[Se -> e]: StaticInjectorError(平台:核心)[Se -> e]: NullInjectorError: 没有 e 的提供者!

只有在我执行 --prod build 时才会出现上述错误。 仅供参考,该模块是延迟加载的。

任何建议/帮助将不胜感激。

【问题讨论】:

  • 您没有正确注册您注入的依赖项之一。
  • 感谢您的建议,我做得很好。发现Fontawesome版本不兼容是根本原因。

标签: javascript angular


【解决方案1】:

从提供者那里删除所有服务,因为您已经添加了providedIn: 'root'

或者试试这个

@NgModule({
    providers: [
        MyService
    ]
})

你必须在 app.module.ts 中添加你的服务

【讨论】:

    【解决方案2】:

    就我而言,我的一个组件中有 providers:[...] 部分 :) 当我删除它时,错误消失了。

    希望这可能对某人有所帮助!

    【讨论】:

      【解决方案3】:

      我有一个类似的问题,同样的模糊错误消息。在我的情况下,它是由我认为是 Angular 服务的一个类引起的(我没有写它)。我导入了这个类并通过我的组件的构造函数注入了它。然后我收到此错误消息,无法弄清楚原因。 事实证明,我使用的类不是 Angular 服务,而是传统的 TypeScript 类。所以我不得不以常规方式实例化它(即,没有 Angular 的依赖注入):

      export class MyComponent {
      
          // This is what caused my problem. "UtilClass" is no Angular service
          // It can therefore not be injected
          constructor(private util: UtilClass) {}
      
      
          // This is the way to use it
          const util = new UtilClass();
          util.doStuff();
      }
      

      【讨论】:

        猜你喜欢
        • 2020-05-03
        • 1970-01-01
        • 1970-01-01
        • 2019-11-16
        • 2021-01-20
        • 2019-06-25
        • 2018-09-19
        • 2018-05-02
        • 2020-12-25
        相关资源
        最近更新 更多