如何修复ReferenceError:req未在Javascript中定义
我的如何修复ReferenceError:req未在Javascript中定义,javascript,express,Javascript,Express,我的rankcard.jscode const router=require('express').router(); const canvacord=要求(“canvacord”); 路由器.get(“/”,(请求,res)=>{ res.render(图像) }) 常数数据={ 化身:req.query.avatar, currentXP:req.query.currentXP, requiredXP:req.query.requiredXP, 状态:req.query.status, 颜色
rankcard.js
code
const router=require('express').router();
const canvacord=要求(“canvacord”);
路由器.get(“/”,(请求,res)=>{
res.render(图像)
})
常数数据={
化身:req.query.avatar,
currentXP:req.query.currentXP,
requiredXP:req.query.requiredXP,
状态:req.query.status,
颜色:req.query.progressBarColor,
用户名:req.query.username,
鉴别器:req.query.discriminator
}
const rank=新的canvacord.rank()
.setAvatar(data.avatar)
.setCurrentXP(data.currentXP)
.setRequiredXP(数据.requiredXP)
.setStatus(数据状态)
.setProgressBar(data.color,“color”)
.setUsername(data.username)
.设置鉴别器(数据鉴别器);
rank.build()
。然后(缓冲区=>{
常量图像=(缓冲区,'rank.png');
})
module.exports=路由器;
我尝试了很多方法来修复,但我找不到[![此错误][1][1]的原因
[1]: https://i.stack.imgur.com/ioQQN.png您应该使用以下函数重构此函数:
const router = require('express').Router();
const canvacord = require("canvacord");
router.get('/', (req, res) => {
res.render(image)
const [data, rank] = getData(req);
})
function getData(req) {
const data = {
avatar: req.query.avatar,
currentXP: req.query.currentXP,
requiredXP: req.query.requiredXP,
status: req.query.status,
color: req.query.progressBarColor,
username: req.query.username,
discriminator: req.query.discriminator
}
const rank = new canvacord.Rank()
.setAvatar(data.avatar)
.setCurrentXP(data.currentXP)
.setRequiredXP(data.requiredXP)
.setStatus(data.status)
.setProgressBar(data.color, "COLOR")
.setUsername(data.username)
.setDiscriminator(data.discriminator);
rank.build()
.then(buffer => {
const image = (buffer, 'rank.png');
})
return [data, rank];
}
module.exports = router;
req
超出范围。在路由器内移动const data={}
获取
回调,或将req
分配给全局变量等待我试试