app.get('/game/', function(req, res) {
if (req.session.user) {
app.use(express.static(__dirname + '/game'));
res.sendFile(__dirname + '/game/index.html');
}
else {
res.send('not logged in ');
}
})
像下面的代码一样将app.use放入app.get内是否合法?它按预期工作,但我想知道它是否合法。
答案 0 :(得分:0)
我建议使用两个不同的中间件功能来分离两个不同的问题-身份验证和静态资源服务:
app.get('/game/', ensureAuthenticated, express.static(__dirname + '/game'), sendGameIndex);
function ensureAuthenticated(req, res, next) {
if (req.session.user) {
next();
} else {
res.send('not logged in ');
}
}
function sendGameIndex(req, res) {
res.sendFile(__dirname + '/game/index.html');
}