2012-08-30 94 views
2

我想在Node.js和Express.js中實現類似以下內容,無法找到活動的很好的示例。幫助讚賞。繼承在Node.Js + Expressjs

base.js 
-------- 
module.exports = { 
    baseFunction: function(){ 
    ..... 
    } 
} 

child.js 
-------- 
module.exports = { 
    require('base'), 

    ***** Some Magical Code ****** 

    childFunction: function(){ 
    ..... 
    } 
} 



CallProgram.js 
-------------- 
var child = require('child'); 
child.baseFunction();  
+0

你到底想達到什麼目的?如果您不知道節點的模塊系統,請參閱http://itsallabtamil.blogspot.in/2012/01/nodejs-modules-and-export-explained.html – Tamil

+0

我有幾個不想重複的通用方法25個子模塊。我正在尋找類似'require'('base');'的子程序,這將允許訪問基本方法而不必複製代碼。如果需要,我可能會覆蓋一些子類的代碼。希望這是有道理的。 –

+0

http://www.crockford.com/javascript/inheritance.html – billy

回答

2

這個怎麼樣?

function extend(a, b) { 
    var result = Object.create(a); 
    for (var prop in b) { 
    if (b.hasOwnProperty(prop)) { 
     result[prop] = b[prop]; 
    } 
    } 
    return result; 
} 

module.exports = extend(require('base'), { 
    ***** Some Magical Code ****** 

    childFunction: function(){ 
    ..... 
    } 
}); 

的擴展功能將創建a爲原型的新對象,並會的b所有屬性複製到它。

0

您可以檢查ZinkyJS,它提供了一個非常乾淨的方法,使路由繼承