Передача переменной в каждый шаблон e js с app.use не работает - PullRequest
0 голосов
/ 26 марта 2020
app.use(function(req, res, next){
res.locals.currentUser = req.user;
next()
})

и я использую его в шаблоне e js, подобном этому

        <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>

Не удается прочитать свойство 'username' из неопределенного

1 Ответ

0 голосов
/ 26 марта 2020

pass req.session в локальных сетях, а затем вы можете использовать глобальную переменную username во всех ejs файлах

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

, теперь вы можете вызывать в ejs файлах

<%= username %>
...