将变量传递到每个带有app.use的ejs模板中不起作用

问题描述 投票:0回答:1
app.use(function(req, res, next){
res.locals.currentUser = req.user;
next()
})

而且我正在这样的ejs模板中使用它

        <ul class="nav navbar-nav navbar-right">
          <%  if(currentUser){ %>
            <li><a href="/login">Sign In</a></li>
            <li><a href="/register">Sign Up</a></li>
          <% } else { %>
            <li><a href="#">Signed in as <%= currentUser.username%></a></li>
            <li><a href="/logout">Sign Out</a></li>
          <%}%>

        </ul>

无法读取未定义的属性'用户名'

node.js express syntax ejs
1个回答
0
投票

通过本地用户传递req.session,然后可以在所有ejs文件中全局使用用户名变量

© www.soinside.com 2019 - 2024. All rights reserved.