You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用jwt-decode解码Token时触发TypeError异常

解决jwt-decode报错TypeError: jwt_decode_1.default is not a function

这个错误我之前帮好几个开发者排查过,大概率是jwt-decode的导入方式和版本不匹配导致的,我给你几个针对性的解决方案:

1. 适配新版本jwt-decode(v3+)的正确导入方式

从jwt-decode v3开始,它改用了ES模块的命名导出,不再支持默认导出。如果你安装的是v3及以上版本,需要修改你的导入代码:

错误的导入方式(会触发这个报错):

import jwt_decode from 'jwt-decode';

正确的导入+使用方式:

import { jwtDecode } from 'jwt-decode';

// 在你的RoleGuardService.canActivate里这样用
const decodedToken = jwtDecode(yourToken);

2. 如果你坚持使用旧版本(v2及以下)

如果你的项目依赖的是jwt-decode v2或更早版本,默认导出是有效的,但如果你的项目开启了严格的ES模块解析,可能需要调整导入方式:

import * as jwt_decode from 'jwt-decode';

// 使用default属性调用
const decodedToken = jwt_decode.default(yourToken);

不过更推荐你升级到最新版本的jwt-decode,因为旧版本可能存在安全或兼容性问题。

3. 确认你的jwt-decode版本

可以打开项目根目录的package.json,找到jwt-decode的版本号,对应上面的导入方式调整:

  • 版本号以3.x.x或更高开头:用命名导入{ jwtDecode }
  • 版本号以2.x.x或更低开头:用默认导入或者带default属性的命名空间导入

内容的提问来源于stack exchange,提问作者tilly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:10:19