Я пытаюсь выучить express, и я из php-фона. То, чего я пытаюсь добиться, это установить для аутентифицированного пользователя переменную res.locals
, чтобы аутентифицированную пользовательскую переменную можно было легко использовать в eJS.
МОЕ приложение.js похож на
initialize passport etc
///////////////////////////////////////////
//middleware to pass authuser to req locals
app.use(function (req, res, next) {
res.locals.authUser = req.user;
next();
});
router.js
router.get('/',function(req,res){
console.log(res.locals.authUser);
res.render('index');
});
index.ejs view <%= authUser.first_name %>
В ejs first_name
не анализируется, но еслия помещаю это <%= authUser %>
, оно отображает
{
is_admin: true,
_id: 5d8cb3702e35aa2f5cbaabf8,
first_name: 'ruban',
last_name: 'shah',
username: 'admin',
email: 'admin@example.com',
password: 'xxxxxx'
}
, что означает, что authUser
- это объект, но он не печатает authUser.first_name
- это ejs
, но странно то, что он отображает authUser.username