就在我认为我控制了打字稿中的打字时,我遇到了证明相反的事情。
这次我试图使用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");
答案 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);