解決できないノード モジュールの問題があります。次の3つのファイルがあります。関心のある基本的な方法を含めましたが、残りの方法と方法の実際の根性は除外しました。
私が苦労している問題は、events.js ノードから event_queue オブジェクトで publish_event メソッドが呼び出されると、次のエラーでクラッシュすることです。
FATAL TypeError: Object # has no method 'publish_event', stack: TypeError: Object # has no method 'publish_event' at 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();