如何使用 nunjucks 和 express.js 中的默认数据填充我的模板

How can I fill my template with default data in nunjucks and express.js

我在一个快速应用程序中使用 nunjucks 作为我的模板引擎。 我正在寻找一种使用有关登录状态的数据填充模板的好方法。

我不想在每次调用函数时都将它放入模板中。

我有以下中间件:

module.exports = function(req, res, next){
    let session = req.session;
    req.extras = req.extras || {};
    req.extras.login = session.login || false;;
    req.extras.currentUser = session.currentUser || null;
    next();
};

我正在寻找一种方法来获得这个:

app.get("/",function(req, res){
   res.render();
})

我希望能够在模板中使用 "login" 和 "currentUser"。

解决方案是将数据放入 res.locals

中间件应该是这样的:

module.exports = function(req, res, next){
    let session = req.session;
    res.locals.login = session.login || false;;
    res.locals.currentUser = session.currentUser || null;
    next();
};