【发布时间】:2018-01-28 18:24:18
【问题描述】:
我正在尝试编写一个节点模块来清理我的代码并将其分离到不同的文件中。
考虑下面的代码:
module.exports = {
Hello : function(request, reply) {
return reply("Hello " + World());
},
World : function() {
return "World";
}
}
如果我导入上述模块并将 Hello 函数用作特定路由的处理程序,则会收到 HTTP 500 内部服务器错误。
如果我将 Hello 函数更改为
,我已将问题缩小到对 World() 的调用Hello : function(request, reply) {
return reply("Hello World");
}
然后它工作正常,所以它似乎在从导出对象中调用另一个函数时被绊倒了
有谁知道为什么会发生这种情况以及如何解决?
【问题讨论】:
-
斯坦格。它可以解决这个问题。附加,但是我的应用程序似乎不喜欢它
-
@Michael:这取决于
Hello的调用方式。如果它不作为导出对象的方法调用,this将不会引用该对象。 -
你的
myModule.Hello function..是从哪里来的? -
它是从我的主 app.js 文件中调用的,带有以下 server.route({ method: 'GET', path: '/user/new/{q}', handler: testy.你好 });似乎有些地方不太对劲,但 Ahmads 的回答效果很好
标签: javascript node.js module node-modules