是否可以始终将某些变量默认传递给 res.render
?
更具体地说,我正在使用 passport
中间件来填充当前用户的 req.user
。我需要在我网站的每个页面上访问它。
每次都提供它很乏味——如果我忘记了,用户似乎没有登录。
最佳答案
一个简单的解决方案是创建您自己的中间件:
function userView(req, res, next) {
res.locals.user = req.user;
next();
}
//...
app.use(passport.initialize());
app.use(passport.session());
//...
app.use(userView);
对于每个请求,这会填充一个局部变量 user
,然后链中稍后呈现的 View 可以访问该变量。 之后激活此中间件,passport one 或 req.user
将未定义。
关于node.js - 始终将变量传递给 Express res.render,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33928031/