Accessing Express.js req or session from Jade template

MrBojangles picture MrBojangles · Jun 13, 2011 · Viewed 28.6k times · Source

I am wondering if there is an easy way to access Express.js' req or session variables from within a Jade template without passing it in through the normal response.

Or is this the only way?

res.render('/', {
    session: req.session
});

Answer

Ajouve picture Ajouve · Sep 28, 2013

Just add

app.use(express.cookieParser());
app.use(express.session({secret: '1234567890QWERTY'}));
app.use(function(req,res,next){
    res.locals.session = req.session;
    next();
});

Before

app.use(app.router);

and get your session in jade

p #{session}