使用require函数时,node.js中两个函数的继承存在问题。
这是我的情况:
function administrators () {
this.user = 'bob';
}
administrators.prototype.print_user = function () {
console.log(this.user);
}
/*******/
function helper() {}
helper.prototype = new administrators();
helper.prototype.change_administrator = function() {
this.user = 'john';
}
var h = new helper();
h.print_user();
h.change_administrator();
h.print_user();
如您所见,我有两个功能:
administrations
仅具有用户变量和print_user
函数。 helpers
继承了administrators
的所有内容,然后添加了change_administrator
,它更改了this.use
中声明的administrators()
。 这是问题:
我想在单独的文件中拥有此功能(
administrators
和helper
),例如:administrators.js
和helper.js
。然后,我想将这两个文件包含在
index.js
和require
中,并像上面的示例一样将administrators
变量和函数继承给helper。附言我一直在寻找类似的问题,但与这种继承无关。
最佳答案
您需要从helpers.js文件中要求管理员。
administrators.js
function administrators () {
this.user = 'bob';
}
administrators.prototype.print_user = function () {
console.log(this.user);
}
module.exports = administrators;
helpers.js
var administrators = require('./administrators');
function helper() {}
helper.prototype = new administrators();
helper.prototype.change_administrator = function() {
this.user = 'john';
};
module.exports = helper;
index.js
var helper = require('./helpers');
var h = new helper();
h.print_user();
h.change_administrator();
h.print_user();