Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用nunjucks和express.js中的默认数据填充模板_Node.js_Express_Nunjucks - Fatal编程技术网

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

Node.js 如何使用nunjucks和express.js中的默认数据填充模板,node.js,express,nunjucks,Node.js,Express,Nunjucks,我在express应用程序中使用nunjucks作为模板引擎。 我正在寻找一种很好的方法,用有关登录状态的数据填充模板 我不想在每次调用函数时都把它放在模板中 我有以下建议: module.exports = function(req, res, next){ let session = req.session; req.extras = req.extras || {}; req.extras.login = session.login || false;; r

我在express应用程序中使用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();
};