我在krakenjs中遵循了passportjs的例子。 https://github.com/krakenjs/kraken-examples/blob/master/with.passport/lib/auth.js#L104
这是我从示例中获取的代码片段。
exports.injectUser = function() {
return function injectUser(req, res, next) {
if (req.isAuthenticated()) {
res.locals.user = req.user;
}
next();
};
};
当我尝试{user}时,它会输出用户对象中的所有字段,但是当我执行{user.fullname}时,它会输出空白。
如果我将代码更改为以下,
exports.injectUser = function() {
return function injectUser(req, res, next) {
if (req.isAuthenticated()) {
res.locals.user = JSON.parse(JSON.stringify(req.user));
}
next();
};
};
当我这样做时,{user.fullname}可以正常工作。知道为什么dustjs无法解析猫鼬对象?
我试着检查对象的实例类型是什么,它说[Object object]。但它不会工作,除非我明确JSON.stringify和JSON.parse它。
任何推荐的解决方案或解释为何会发生这种情况?
答案 0 :(得分:2)
找到解决方案。这是dustjs-linkedin库的问题。我使用的是2.4.0。当我将其更改为2.3.4时,它可以正常工作。希望它能帮助别人。