嗨,我正在尝试导出一个函数(以便其他路由可以使用这个函数来验证证书和一个快速路由器,以便我可以将它添加到我的主类以安装路由。这是因为我相信这个函数并且路由都提供相同的“功能”,我想将它封装在一个文件中,所以我想导出函数和路由器来使用!这是下面的代码,我得到一个错误......注意我想做 verifytoken.router 来引用路由器,然后 verifytoken.verify 来引用其他文件中的函数
/routes/verifytoken.js 文件
const router = require('express').Router();
const jwt = require('jsonwebtoken');
function verify (req, res, next) {
const token = req.header("auth-token");
if (!token) return res.status(401).send("Access Denied");
try {
const verified = jwt.verify(token, process.env.TOKEN_SECRET);
req.user = verified;
next();
} catch (error) {
res.status(400).send("Invalid Token")
}
}
router.get("/tester", (req, res) => {
res.status(200).send("validation please work bro");
});
module.exports = {
verify:verify,
router:router
}
我的主要 index.js 文件
const express = require('express');
//import routes
const verifytoken = require('./routes/verifytoken')
const app = express();
//route middlewares
app.use("/api/user". verifytoken.router);
app.listen(3000 , () => console.log('Server Running...'))
堆栈跟踪是:
app.use("/api/user". verifytoken.router);
^
TypeError: Cannot read property 'router' of undefined