ReferenceError:导出函数时未定义req
Posted
技术标签:
【中文标题】ReferenceError:导出函数时未定义req【英文标题】:ReferenceError: req is not defined when I export my function 【发布时间】:2021-10-09 00:36:46 【问题描述】:我正在使用 react js node js(express, JWK) 构建一个登录应用程序,但是当我导出我的函数时遇到问题我收到错误 ReferenceError: req is not defined
但我如何定义 req
???
这个user.router.js:
const verifyToken = require("../middleware/authJwt");
const controller = require("../controllers/user.controller");
module.exports = function(app)
app.use(function(req, res, next)
res.header(
"Access-Control-Allow-Headers",
"x-access-token, Origin, Content-Type, Accept"
);
next(req);
);
app.get(
"/api/test/user",
[verifyToken],
(controller.userBoard)
);
;
这是 authJwt.js:
const jwt = require("jsonwebtoken");
const config = require("../config/auth.config.js");
verifyToken = (req, res, next) =>
let token = req.headers["x-access-token"];
if (!token)
return res.status(403).send(
message: "Sem Token"
);
jwt.verify(token, config.secret, (err, decoded) =>
if (err)
return res.status(401).send(
message: "Sem autorização!"
);
req.userId = decoded.id;
next();
);
;
module.exports = verifyToken();
【问题讨论】:
仔细观察:您要导出什么?你没有导出verifyToken
。
这能回答你的问题吗? What is the difference between a function call and function reference?
【参考方案1】:
您没有在authJwt.js
中导出verifyToken
。您正在导出对此函数的调用作为默认值。
改变
module.exports = verifyToken();
到
module.exports = verifyToken ;
这样您就可以简单地导出参考。
【讨论】:
以上是关于ReferenceError:导出函数时未定义req的主要内容,如果未能解决你的问题,请参考以下文章
ReferenceError:使用 performance.now() 时未定义性能
ReferenceError:使用 PrimeNG GMap 时未定义 google
ReferenceError: self 在设置 Firebase 时未定义