使用express-jwt报错TypeError: expressJWT is not a function

在这里插入图片描述
express-jwt 包的版本过高(我用的是8.x.x),在高版本中使用了低版本的语法

问题解决方法:
1、第一种方法就是将当前使用的 express-jwt 包的版本降低

参考方法:将 pakage.json 中的 express-jwt 版本改为 6.1.0,
在这里插入图片描述
再在终端执行 npm i 就可以了。

2、第二种方法就是使用当前 express-jwt 包版本的最新语法

//导入 express-jwt 包

const {
    
     expressJWT:expressjwt } = require("express-jwt")
//全局注册
//.unless({用正则指定不需要访问权限的路径}) 

app.use(expressjwt({
    
     secret: 'mysecret', algorithms: ['HS256'] })
.unless({
    
     path:[/^\/api\//] }))

我在使用第二种方法时,是无效的,不知道啥原因。就改为第一种方法了。

猜你喜欢

转载自blog.csdn.net/qq_31676483/article/details/128819235