I'm using Node.js and Express, and I want to pass a local variable in to the layout on every page, is there any way to do this? I'm using Jade as my templating engine.
The reason I want this is because I want to display the user's username on every page (using session), any way to do this other than including it every time in the local object?
You can achieve this by defining a dynamic view helper, as pointed out in the official Express guide:
app.dynamicHelpers({
session: function(req, res){
return req.session;
}
});
Then in your views you can simply access the session
variable, and for example session.user to display the user.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With