Вы можете решить эту проблему с помощью функции рендеринга, в которой вы используете для рендеринга каждое представление, которому нужна переменная сеанса в качестве локальной переменной, доступной в шаблоне (обычно, когда пользователь вошел в систему, например).
Вот пример функции, но вы можете настроить ее так, как вам нравится:
var renderView = function(res, template, context, session, cb) {
context.session = session;
if(cb){
res.render(template, context, function(error, html){
cb(error, html)
}
} else {
res.render(template, context)
}
}
Тогда его можно использовать так:
app.get("/url", function(req, res){
req.session.user_email = user_email;
renderView(res, "template_name", { local_variables: local_variables }, req.session)
});
и в вашем нефритовом шаблоне вы можете получить доступ к переменным сеанса следующим образом:
div.user-email #{session.user_email}