Как я могу передать данные сеанса Express, которые будут отображаться на каждом шаблоне Pug / Jade? - PullRequest
0 голосов
/ 24 мая 2018

Я создаю простую сеансовую аутентификацию на моем сайте.Я использую express-session для создания логики входа на стороне сервера.

После успешного входа на стороне сервера я хочу показывать адрес электронной почты зарегистрированного пользователя на каждой странице.

Я мог бы передать каждую страницу следующим образом:

router.get('/my-route', function(req, res, next) {
    ...
    res.render('my-page', {
        userId: user.email
    }

});

Но будет слишком много реплицированного кода, если у меня будет больше страниц на моем сайте.

Есть способ передать данные сеанса, которые будут отображаться на каждой странице, добавив в мой макет шаблон Pug / Jade, и другие шаблоны могут это расширить?

Как это (на layout.jade):

div(class='container')
    if (session.userId)
        br
        p
            | You are signed in as  
            b #{session.userId}
            a(href='sign-out') Sign Out

    block content

И каждая страница расширяет макет с информацией о пользователе:

extends layout

block content

    ...
...