[英]requested route undefined in NodeJs / Express
我想檢查用戶是否被授權。 如果不是,則要呈現的模板應該是我的登錄視圖。 在我的app.js
我需要我的router.js
require('./server/router')(app);
我的路由器文件處理了不同的路由。
module.exports = function(app){
app.use(function(req, res, next) {
if(req.route != '/login'){ // the url is not the login page
var session = req.session;
if (session.user == null){ // the user is not authorized
res.render('login', {
showHeader: false
});
} else { // check the next route
next();
}
} else { // check the next route
next();
}
});
app.use('/route1', require('./routes/route1'));
app.use('/route2', require('./routes/route2'));
app.use('/route3', require('./routes/route3'));
app.use(function(req, res, next) { // no valid route was found
res.render('notFound', {
showHeader: false
});
});
};
我的if語句if(req.route != '/login')
始終為true,因為req.route
始終返回undefined
。
這里有什么問題或遺漏?
假設您的網址為http:// localhost / example / login
req.baseUrl
會得到'/ login'
以及url是否類似於http:// localhost / example / admin / login
req.originalUrl
將獲得'/ admin / login'
req.path
會得到'/ login'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.