2015-07-19 162 views
0

我有以下代碼。我想使用prototype關鍵字,因爲我想調用方法函數而不是類方法,爲什麼這會給我一個錯誤?如果我刪除原型調用這個工程。我如何編寫此代碼,以便能夠使用實例而不是類方法?NodeJS模塊實例

//app.js 
var MyTest = require('./MyTest') 
var myTestInstance = new MyTest() 
myTestInstance.testFunction(function(reply){ 
    console.log(reply) 
}) 

//MyTest.js 
module.exports = function() { 

    function MyTest() {} 

    MyTest.prototype.testFunction = function(cb) { 
     cb('hello') 
    } 

    return MyTest 

} 
+0

@JohnnyHK myTestInstance.testFunction(函數(回覆){^ TypeError:undefined不是函數在對象。

回答

2

有你app.js工作,因爲它是你需要用下面的更換MyTest.js的內容:

function MyTest() {} 
MyTest.prototype.testFunction = function(cb) { 
    cb('hello'); 
}; 
module.exports = MyTest; 

當你擁有了它在app.js你需要一個構造函數而不是工廠功能。

+0

謝謝!這實際上幫助了很多。 –