node.js - Set object into Request in NodeJS -


i'd set in request object contains options on web interface... object have accessible in views... , doesn't work code below...

fs.readfile(optionfile, 'utf8', function (err, data) {    if (err) throw err;    var options = json.parse(data);    request.options = options;  });
<title><%-request.options.title%></title>

edit #1

and don't want kind of thing :

response.render('myview', {request: request});

edit #2

exports.locals = function(app){    app.use(function(request, response, next){      fs.readfile('./configs/options.json', 'utf8', function (err, data) {        if (err) throw err;        var options = json.parse(data);        response.locals.options = options;      });      response.locals.request = request;      response.locals.path = url.parse(request.url).pathname;      response.locals._ = _;      next();    });  };
<title><%- options.title %></title>

if want pass data templates, should use either app.locals or res.locals.

app.locals allows define global set of local variables templates, while res.locals allows bind local variables request in express middleware:

app = express(); app.locals.options = json.parse(fs.readfilesync(optionfile, 'utf8')); 

then you'll able use them in ejs template:

<title><%- options.title %></title> 

Comments

Popular posts from this blog

matlab - "Contour not rendered for non-finite ZData" -

delphi - Indy UDP Read Contents of Adata -

qt - How to embed QML toolbar and menubar into QMainWindow -