问题描述
我正在尝试在我的应用程序中编写用于用户授权的中间件。我使用此功能来检查是否需要登录路由。 代码如下:
@H_502_2@x.job.mask(x.job==' ').factorize()[0]
Out[210]: array([ 0,1,-1,2,2],dtype=int32)
但是,出现以下错误:
@H_502_2@const { expressJwt } = require('express-jwt');
exports.requireSignin = expressJwt({
secret: process.env.JWT_SECRET,algorithms: ["HS256"],userProperty: "auth",});
可能是什么问题?其他答案似乎都没有帮助。
解决方法
带有大括号
const { expressJwt } = require('express-jwt');
^ ^
您正在尝试执行对象解构,该操作将在expressJwt
模块导出的对象中查找名为express-jwt
的字段。但是根据错误消息,对象没有这样的字段。
根据express-jwt
's documentation,您不需要进行结构分解,而只需将导出的对象分配给变量,因此请尝试以下形式(不带大括号):
const expressJwt = require('express-jwt');
,
参考readme。
如果我没记错的话,正确的函数命名为jwt
//const { expressJwt } = require('express-jwt');
//use this
var jwt = require('express-jwt');