如何将jwt-decode类型定义导入Typescript(Ionic 2)

时间:2017-01-24 02:02:06

标签: angular typescript ionic2 typescript-typings

就在我认为我控制了打字稿中的打字时,我遇到了证明相反的事情。

这次我试图使用jwt-decode。我已通过命令typings i dt~jwt-decode --save

安装了类型定义

两个问题

1。当我查看index.d.ts时,我会看到以下内容

    declare module 'jwt-decode' {
        namespace JwtDecode {
        interface JwtDecodeStatic {
            (token: string): any;
        }
    }

    var jwtDecode: JwtDecode.JwtDecodeStatic;
    export = jwtDecode;
    export as namespace jwt_decode;
    }

IDE(VS代码)显示错误" [ts]全局模块导出可能只出现在最后一行{#1}}下的顶级" p>

2. 如何导入此内容?

我尝试使用import语句..

export as namespace jwt_decode;

但我无法看到要导入的任何内容。

我能找到的其他(很多)例子似乎都没有帮助。它必须简单,我只是不知道语法。

提前感谢您的帮助。

[UPDATE] 经过一些阅读后,看起来打字已被取代,只需使用npm ..

所以我试过

   import { ??  } from 'jwt-decode';

但仍无法正确导入。

[UPDATE2] 我可以添加语句npm install --save jwt-decode npm install --save @types/jwt-decode // and import via import * as JWT from 'jwt-decode'; 并查看签名,但出现以下IDE错误

let t = jwt-decode("aaa");

1 个答案:

答案 0 :(得分:30)

对我有用的解决方案是:

npm install --save jwt-decode
npm install --save @types/jwt-decode

// and import via
import * as JWT from 'jwt-decode';

// use JWT() for decode. Not jwt-decode() !!
let t = JWT(token);