我有这个目录结构:
来源:
应用/的oauth2家庭内的客户机/的oauth2-client.js
//SOME CODE
exports.Bearer = {
authenticate : passport.authenticate('bearer', { session : false }),
initialize : passport.initialize()
// session : passport.session()
};
应用/ router.js
var oauth2 = require('./oauth2-home-client/oauth2-client');
console.log(JSON.stringify(oauth2.Bearer));
//SOME CODE
当我打印oauth2.Bearer
(以及oauth2
)内容时,我得到{}
。
我做错了什么?
感谢。
答案 0 :(得分:3)
您的代码:
exports.Bearer = {
authenticate : passport.authenticate('bearer', { session : false }),
initialize : passport.initialize()
// session : passport.session()
};
将导致:
exports.Bearer = {
authenticate :undefined,
initialize : undefined
};
因为passport.authenticate
和passport.initialize
都返回undefined
。
JSON.stringify
省略了值undefined
的键。
[...]如果未定义,在转换过程中遇到函数或符号,则省略它(当它在对象中找到时)或者删除为null(当它在数组中找到时)。 ..]
答案 1 :(得分:-1)
它的值可能指向模块实例化。 你试试这个吗?
module.exports = {...};