通过require导入的节点模块没有方法

时间:2013-05-31 00:04:30

标签: node-modules

我遇到了无法解决的节点模块问题。我有以下三个文件。我已经包含了感兴趣的基本方法,但已经排除了其他方法和方法的实际内容。

我正在努力解决的问题是,当来自events.js的event_queue对象调用publish_event方法时,崩溃时出现以下错误:

致命 TypeError:对象#没有方法'publish_event',stack: TypeError:Object#没有方法'publish_event'     在Events.publish_event(/Users/mburbidg/stormcloud/ccapi/cloud_pipes/node_modules/f5/server/services/event/events.js:137:15)

我无法理解这一点,你可以看到我可以在我们的系统中使用index.js中的EventQueue对象的方法,另一个模块就好了。我已多次检查其他明显的名字。

有关如何进行的任何建议吗?

文件1 - f5 / server / notifications / sqs_event_queue.js


function EventQueue() {
  this.queue_name = 'notification_queue';
  this.queue_url = null;
  this.sqs = null;
}

EventQueue.prototype.publish_event = function(event_data, registration_id, log, callback) {
...
}

EventQueue.prototype.start = function(callback) {
...
}


module.exports = new EventQueue();

文件2 - f5 / server / index.js


var event_queue = require('f5/server/notifications/sqs_event_queue');

var start_notifications = function()
{
  event_queue.start(on_start);

  function on_start(error)
  {
  }
}

文件3 - f5 / server / services / event / events.js


var event_queue = require('f5/server/notifications/sqs_event_queue');

function Events () {

}

Events.prototype.publish_event = function(event_data, registration_id, log, callback) {
  event_queue.publish_event(event_data, registration_id, log, callback);
};

module.exports = new Events();

0 个答案:

没有答案