我只是勉強進入一個的NodeJS位和遇到了阻礙試圖創建一個(非常)基本MVC實現它。的NodeJS Module.Exports對象原型問題
它歸結爲以下幾點。我有一個控制器的主要對象,我試圖創建一個原型;代碼如下:
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');
的問題是每當我打印出變量控制器我獲取對象的第一部分,但樣機還未包括在內。請參見下面的打印輸出:
{ request: null,
response: null,
params: null,
layout: 'default' }
因此調用原型函數Controller.processAction()的結果是沒有方法錯誤。我是否聲明瞭這個原型是錯誤的或者是否存在與NodeJS有關的缺失?
[編輯]
我也嘗試下面的樣式添加一個原型無濟於事。
Controller.prototype = {
'processAction' : function(action) {
console.log("Processing Action");
}
}
[EDIT 2]
沒關係,上述工作的console.log不會在原型報告的附加功能,有趣。
你___exact___代碼工作正常。你實際上已經打過電話'.processAction()'或者你只是假設,因爲它沒有在日誌顯示不存在?節點的一些版本不正確通過'__proto__' –
你是絕對正確的迭代。它沒有出現在日誌中,所以我認爲它不在那裏。謝謝您的幫助。 – Aric
如果你不知道'新功能()'返回一個對象不是一個函數。 – Raynos