gpt4 book ai didi

javascript - 使用 Express 在中间件中传递数据的最佳方式

转载 作者:行者123 更新时间:2023-12-01 02:57:37 24 4
gpt4 key购买 nike

我想让用户详细信息(例如:用户名)出现在我的导航栏中,为此我一直将“req.session.user”变量发送到我的 View 。

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

app.get('/index', function(req, res, next) {
if(req.session.user) {
res.render("index", {user:req.session.user});
}
});

然后在导航栏所在的主干 View 中打印出用户名。

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

谢谢。

最佳答案

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

app.use(function(req, res, next) {
res.locals.user = req.session.user
next()
})

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

<% if (user) { %>
<h1>Hello, <%= user.name %></h1>
<% } %>

关于javascript - 使用 Express 在中间件中传递数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46626609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com