Javascript 使用express在中间件中传递数据的最佳方式
我想在导航栏中显示用户详细信息(例如:username),为此,我一直在向我的视图发送'req.session.user'变量 我一直在做的是,对于每个视图渲染,我发送req.session变量,如下所示: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}); } }); 然后在我的主干视图
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>
<% } %>