2012-08-30 46 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,它提供了一个非常干净的方法,使路由继承