Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.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
res.render(node.js)中局部变量的含义是什么?_Node.js_Express_Ejs - Fatal编程技术网

res.render(node.js)中局部变量的含义是什么?

res.render(node.js)中局部变量的含义是什么?,node.js,express,ejs,Node.js,Express,Ejs,Node.JS(express+ejs)中下面两个代码块的区别是什么 及 什么时候用哪个?任何人都可以帮我解决这个问题。将变量传递给视图的正确方法是wollowing res.render('demo', {"variable":data}); 然后您有一个objetres.locals,您可以在其中附加数据并将其传递给视图 例如,如果您有一个用于身份验证的中间件,那么您甚至可以在请求到达路由之前设置auth变量 app.use(function(req, res, next){ re

Node.JS(express+ejs)中下面两个代码块的区别是什么


什么时候用哪个?任何人都可以帮我解决这个问题。

将变量传递给视图的正确方法是wollowing

res.render('demo', {"variable":data});
然后您有一个objet
res.locals
,您可以在其中附加数据并将其传递给视图

例如,如果您有一个用于身份验证的中间件,那么您甚至可以在请求到达路由之前设置auth变量

app.use(function(req, res, next){
    res.locals.user = req.user;
    res.locals.authenticated = ! req.user.anonymous;
    next();
});
res.render('demo', {"variable":data});
app.use(function(req, res, next){
    res.locals.user = req.user;
    res.locals.authenticated = ! req.user.anonymous;
    next();
});