Varun Singh
Varun Singh

Reputation: 1716

Node.js - Set default local variables to pass into layout/template

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?

Upvotes: 5

Views: 2464

Answers (1)

alessioalex
alessioalex

Reputation: 63673

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.

Upvotes: 8

Related Questions