ERROR 错误:没有 JwtHelper 的提供者

Posted

技术标签:

【中文标题】ERROR 错误:没有 JwtHelper 的提供者【英文标题】:ERROR Error: No provider for JwtHelper 【发布时间】:2017-11-24 07:33:30 【问题描述】:

我是 Angular2 的新手,我正在使用 jwthelper 对 jwt 令牌进行编码并提取详细信息。

import  Injectable  from '@angular/core';

import  JwtHelper  from 'angular2-jwt';

@Injectable()
export class SessionService 

  constructor(private jwtHelper: JwtHelper)

  getUser()
    var token = JSON.parse(localStorage.getItem('currentUser'));
    return this.jwtHelper.decodeToken(token.token);
  

找不到以下错误的解决方案,并在此处显示不正确之处。

错误错误:没有 JwtHelper 的提供者!

【问题讨论】:

【参考方案1】:

这是因为您试图在组件/服务的构造函数中注入 JwtHelper。这仅针对提供者

根据using jwthelper in components 部分,您必须创建一个新对象并使用它。

为您服务,

constructor() //remove from constructor.

  getUser()
    let jwtHelper: JwtHelper = new JwtHelper();
    var token = JSON.parse(localStorage.getItem('currentUser'));
    return this.jwtHelper.decodeToken(token.token);
  

【讨论】:

这是在服务中使用 jwthelper 的最有效方式吗? 检查here它只是一个没有任何装饰器的导出类.. 现在我可以理解了。

以上是关于ERROR 错误:没有 JwtHelper 的提供者的主要内容,如果未能解决你的问题,请参考以下文章

为啥.net网站访问出错 provider: TCP 提供程序, error: 0 -

未捕获(承诺):错误:GooglePlus 没有提供者

Angular2 错误 - 我的登录组件没有提供程序错误

未捕获(承诺):错误:没有 AngularFireAuth 的提供者

Ionic2 错误:“没有存储提供程序”

错误:商店没有提供者!在@ngrx 4.x