Я только немного попадаю в NodeJS и попадаюсь в ловушку, пытаясь создать (ОЧЕНЬ) базовую реализацию MVC для него.
Это сводится к следующему. У меня есть основной объект для контроллера, для которого я пытаюсь создать прототип; Код следующий:
var Controller = function(obj) {
this.request = null;
this.response = null;
this.params = null;
this.layout = 'default';
}
Controller.prototype = new function() {
this.processAction = function(action) {
console.log("Processing Action.");
}
}
module.exports = new Controller();
Я удалил большинство значений / функций для этой проблемы, поскольку они на самом деле не связаны. В основном, насколько я понимаю, использование module.exports позволяет экспортировать объект в переменную с помощью функции require (). В моем диспетчере есть следующее:
var Controller = require('./Controller.js');
Проблема в том, что всякий раз, когда я распечатываю переменную Controller, я получаю первую часть объекта, но прототип не включается. Смотрите следующую распечатку:
{ request: null,
response: null,
params: null,
layout: 'default' }
Таким образом, вызов функции-прототипа Controller.processAction () приводит к ошибке отсутствия метода. Я объявляю этот прототип неправильным или мне не хватает чего-то, связанного с NodeJS?
1013 * * [EDIT]
Я также попробовал следующий стиль для добавления прототипа безрезультатно.
Controller.prototype = {
'processAction' : function(action) {
console.log("Processing Action");
}
}
[РЕДАКТИРОВАТЬ 2]
Неважно, сработавший выше console.log не сообщает о дополнительной функциональности в прототипе, интересно.