1

我一直在查看https://github.com/linnovate/mean的平均堆栈

我想知道 _json 方法在做什么

passport.use(new FacebookStrategy({
        clientID: config.facebook.clientID,
        clientSecret: config.facebook.clientSecret,
        callbackURL: config.facebook.callbackURL
    },
    function(accessToken, refreshToken, profile, done) {
        User.findOne({
            'facebook.id': profile.id
        }, function(err, user) {
            if (err) {
                return done(err);
            }
            if (!user) {
                user = new User({
                    name: profile.displayName,
                    email: profile.emails[0].value,
                    username: profile.username,
                    provider: 'facebook',
                    facebook: profile._json
                });
                user.save(function(err) {
                    if (err) console.log(err);
                    return done(err, user);
                });
            } else {
                return done(err, user);
            }
        });
    }
));

它也看起来像一个下划线函数,但我在下划线参考中找不到任何东西。还有谁知道这是来自哪个图书馆?

4

2 回答 2

4

这是一个存储原始 JSON 的字段。它由Passport 的 Facebook 模块生成:

var profile = parse(json);
profile.provider = 'facebook';
profile._raw = body;
profile._json = json;
于 2013-10-31T17:08:26.003 回答
0

Using_name是用于内部目的的对象的常见约定属性,但在任何情况下都是完全合法的。使用 Underscore.js,您只会使用_.methodName,而不是_name,因此如果您看到调用方法的下划线对象,它可能是 Underscore。下划线_name用于内部目的,但您可能永远不会使用它们。

于 2013-10-31T17:05:30.320 回答