Работает ли dustJS от linkedin с объектом mongoosejs?

#node.js #express #mongoose #dust.js #kraken.js

#node.js #экспресс #mongoose #dust.js #kraken.js

Вопрос:

Я следовал примеру passportjs в krakenjs. 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, но когда я делаю {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 не может проанализировать объект mongoose?

Я попытался проверить, какой тип экземпляра объекта, и он сказал [Object object] . Но это не сработает, если я явно не использую JSON.stringify и JSON.parse.

Любое рекомендуемое решение или объяснение, почему это происходит?

Комментарии:

1. Приведенный выше репозиторий примеров устарел в пользу отдельного репозитория для каждого примера. Новая ссылка будет выглядеть следующим образом: github.com/krakenjs/kraken-example-with-passport/blob/master /…

Ответ №1:

Нашел решение. Это проблема с библиотекой dustjs-linkedin. Я использовал 2.4.0. Когда я меняю его на 2.3.4, он работает. Надеюсь, это поможет другим.

Комментарии:

1. Большое спасибо за это — для тех, кто задается вопросом, как сделать это плавным способом: установите версию в файле «package.json» и запустите «npm update dustjs-linkedin» впоследствии!