React项目导入jwt-decode报错:Uncaught TypeError: jwt_decode不是函数
问题分析与解决
你遇到的错误是因为jwt-decode v3及以上版本采用ES模块默认导出,而你用CommonJS的require直接导入时,拿到的是包含导出内容的模块对象,不是函数本身,所以调用jwt_decode(token)会提示“不是函数”。
修复方案
方案1:修改CommonJS导入方式,显式获取default导出
把导入代码改成:
const jwt_decode = require("jwt-decode").default;
这样就能正确拿到解码函数,后续的verifyToken函数可以正常使用。
方案2:改用ES模块语法(推荐,React项目更常用)
React项目通常支持ES模块,建议直接用import导入:
import jwtDecode from "jwt-decode"; const verifyToken = (token) => { console.log(jwtDecode(token)); }; export { verifyToken };
然后在React页面中用import { verifyToken } from './你的工具文件路径'导入使用即可。
内容的提问来源于stack exchange,提问作者SnNaCk
相关产品推荐
相关产品推荐

