我有一个Node Js + Express 4 + express-handlebars应用程序。我正在使用Passport进行本地身份验证。我想在页面顶部显示登录的用户名。现在我必须在每个页面渲染上定义它。
res.render('somePage', {
title : 'My page',
userName : req.user.Name,
});
我做了一些研究,发现了一个类似的StackOverflow问题(两年前的问题,他使用的是Express3),其中建议的解决方案是使用app.locals设置res.locals用户名变量。
app.use(function (req, res, next) {
res.locals = {
user: req.user
};
next();
});
{{user.Name}}
我试过了,但它对我不起作用。
如何在登录后设置一次用户名,这样我就不必在每个页面渲染中都包含它?
答案 0 :(得分:1)
尝试在本地人之后添加.user
res.locals.user = {user: req.user};
希望这会有所帮助:)