2016-03-23 21 views
1

いくつかのコントローラ(モジュール)が1つのバスモジュールから継承してNodeJSアプリケーションにいくつかの機能を実装しようとしています。私はこれをやっていることが難しかったし、私はなぜ不明です。ここでNodeJSでのモジュール継承

は、私がこれまで持っているものです。

私のベースモジュール(他の人が継承元となる):

var http = require('http'); 

function ApiBaseController() { 
    var self = this; 
} 

ApiBaseController.prototype.makeRequest = function() { 

}; 

module.exports = ApiBaseController; 

子モジュール(つまり、上記のいずれかから継承されます:

var APIBaseController = require(__dirname + '/apiBase/ApiBaseController.js'), 
         inherits = require('util').inherits; 

function JustGivingAPI() { 
    APIBaseController.apply(this); 
} 

inherits(APIBaseController, JustGivingAPI); 

JustGivingAPI.prototype.getAmount = function() { 
    console.log("here"); 
}; 

module.exports = JustGivingAPI; 

とモジュールを必要とするクライアントコード:

var express = require('express'); 
var router = express.Router(); 
var JustGivingController = require('../controllers/api/JustGivingAPI'); 
var APIObject = new JustGivingControllerObject(); 

私はJustGivingAPIモジュールのコンストラクタ内から親モジュールのメソッドを継承するためにaply Javascriptメソッドを実装しようとしていますが、返されたモジュールには表示されません。 誰かが私が間違っていた場所や、これが良い考えであるかどうかについて私に助言することはできますか?

ありがとうございました!

答えて

1

私は、オブジェクトをutil.inherits関数の間​​違った方法で丸めました!

は次のようになります。

util.inherits(JustGivingAPI, APIBaseController);