【问题标题】:Module inheritance in NodeJSNodeJS 中的模块继承
【发布时间】:2016-03-23 13:57:29
【问题描述】:

我正在尝试在 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 方法以继承父模块的方法,但它们不会出现在返回的模块中。 谁能告诉我我哪里出错了,这是否是个好主意?

谢谢!

【问题讨论】:

    标签: javascript node.js inheritance module


    【解决方案1】:

    我在 util.inherits 函数中弄错了对象!

    应该是:

    util.inherits(JustGivingAPI, APIBaseController);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2016-06-24
      • 2014-01-02
      • 2020-06-27
      • 2018-02-25
      相关资源
      最近更新 更多