У меня проблемы с наследованием в node.js. Я следил за шаблонами из stackoverflows существующих потоков, но мой код по-прежнему не работает, как должно.Node.js наследование модулей
Давайте начнем с только два первых пунктов, 'base.js':
function Base() {
this.type = 'empty';
}
Base.prototype.getType = function() {
return this.type;
}
module.exports = Base;
Тогда у меня есть файл 'second.js', и он должен унаследовать от базы
var Base = require('./base.js'), util = require('util');
function Second() {
Base.apply(this, arguments);
}
util.inherits(Second, Base);
Second.prototype.getData = function() {
return 12;
}
module.exports = Second;
В моих app.js Я звоню
var second = new require('./second.js');
console.log(second.getType());
И эта ошибка бросания 'getType не определена'. Однако, когда я помещаю все это в один файл (например, app.js), все работает отлично. Можете ли вы указать, что не так в моем коде или предложить лучший способ сделать это?
Спасибо!
Попробуйте 'new (require ('./ second.js'))' вместо этого. Это не сработало бы с «базой». – Bergi