Javascript 使用express在中间件中传递数据的最佳方式

Javascript 使用express在中间件中传递数据的最佳方式,javascript,node.js,express,middleware,Javascript,Node.js,Express,Middleware,我想在导航栏中显示用户详细信息(例如:username),为此,我一直在向我的视图发送'req.session.user'变量 我一直在做的是,对于每个视图渲染,我发送req.session变量,如下所示: app.get('/index', function(req, res, next) { if(req.session.user) { res.render("index", {user:req.session.user}); } }); 然后在我的主干视图

我想在导航栏中显示用户详细信息(例如:username),为此,我一直在向我的视图发送'req.session.user'变量

我一直在做的是,对于每个视图渲染,我发送req.session变量,如下所示:

app.get('/index', function(req, res, next) {
    if(req.session.user) {
        res.render("index", {user:req.session.user});
    }
});
然后在我的主干视图中,在导航栏所在的位置,我打印出用户名

克服这种重复性成就的最佳实践是什么? 我已经搜索过了,但没有结果


谢谢。

如果您不想将
req.session.user
这样发送到每个页面:
{user:req.session.user}
您可以将此数据添加到对象:

因此,在每个页面上,您都可以像下面这样输出用户名(示例为):


你好

如果您不想像这样将
请求会话.user
发送到每个页面:
{user:req.session.user}
您可以将此数据添加到对象:

因此,在每个页面上,您都可以像下面这样输出用户名(示例为):


你好
app.use(function(req, res, next) {
    res.locals.user = req.session.user
    next()
})
<% if (user) { %>
    <h1>Hello, <%= user.name %></h1>
<% } %>