在节点js中使用全局变量

时间:2019-07-31 10:05:13

标签: node.js express express-handlebars

 app.use(function (req, res, next) {
 res.locals.login = req.isAuthenticated();
 app.locals.userinfo = req.user;    
 next();
});

我正在使用全局变量来存储用户信息,因为我需要在主模板中显示它们。 将用户信息存储在变量中是一种好习惯还是有一种解决方法? 使用变量有任何性能问题吗?

我尝试创建助手,但这似乎不起作用。

在渲染时也不能传递值,因为用户信息必须显示在我的主模板的导航栏中。

1 个答案:

答案 0 :(得分:1)

您需要cookie-session中间件来处理用户信息。这是浏览器-服务器体系结构中的正常情况。 您可以从

这样的会话中获取价值
app.get('/', function (req, res, next) {
  res.end(req.session.views + ' views')
})

会话对象是服务器中的常量obj,具有默认生存时间,并且也可以更改。 Cookie会话是一种通用的体系结构,无论是nodeJs还是java或其他服务器端语言。您都可以进行类比,所有行为都是相似的。