Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 问题导出模块NodeJS_Javascript_Node.js - Fatal编程技术网

Javascript 问题导出模块NodeJS

Javascript 问题导出模块NodeJS,javascript,node.js,Javascript,Node.js,我有以下目录结构: app/router.js app/oauth2 home-client/oauth2-client.js 资料来源: app/oauth2 home client/oauth2 client.js //SOME CODE exports.Bearer = { authenticate : passport.authenticate('bearer', { session : false }), ini

我有以下目录结构:

  • app/router.js
  • app/oauth2 home-client/oauth2-client.js
资料来源:

app/oauth2 home client/oauth2 client.js

    //SOME CODE

    exports.Bearer = {

            authenticate : passport.authenticate('bearer', { session : false }),

            initialize : passport.initialize()

            // session : passport.session()
    };
var oauth2 = require('./oauth2-home-client/oauth2-client');

console.log(JSON.stringify(oauth2.Bearer));

//SOME CODE
app/router.js

    //SOME CODE

    exports.Bearer = {

            authenticate : passport.authenticate('bearer', { session : false }),

            initialize : passport.initialize()

            // session : passport.session()
    };
var oauth2 = require('./oauth2-home-client/oauth2-client');

console.log(JSON.stringify(oauth2.Bearer));

//SOME CODE
当我打印
oauth2.Bearer
(以及
oauth2
)内容时,我得到
{}
。 我做错了什么

谢谢。

您的代码:

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

并且具有值
未定义的
的键被省略

[…]如果在转换过程中遇到未定义的函数或符号,则会将其忽略(当在对象中找到时)或删除为null(当在数组中找到时)。[…]


其值可能指向模块实例化。 你试过这个吗

module.exports = {...};

你的
router.js
在哪里?在
app/
中,与
oauth2 home client
文件夹的目录相同。为了清楚起见,我对我的问题进行了编辑。请尝试以下方法:
var oauth2=require('oauth2-home-client/oauth2-client')而不是
var oauth2=require('./oauth2主客户端/oauth2客户端')
还可以尝试在JSON中的authenticate和initialize周围加上引号。您应该显示您想要对
oauth2.Bearer执行的操作。目前,可以告诉您为什么会得到这个结果,但不能告诉您如何解决它。是否要执行
oauth2.Bearer.authenticate()
,然后调用
passport.authenticate('Bearer',{session:false})