2012-08-30 3 views
2

J'essaye de réaliser quelque chose comme suivre dans Node.js et Express.js, pas capable de trouver de bons exemples de ceci actif. Aide appréciée.Héritage dans 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

Qu'est-ce que vous essayez vraiment d'atteindre? Incase vous n'êtes pas au courant du système de module de référence http://itsallabtamil.blogspot.in/2012/01/nodejs-modules-and-export-explained.html – Tamil

+0

J'ai peu de méthodes génériques que je ne souhaite pas répéter dans 25 modules enfants. Je cherchais quelque chose comme 'require ('base');' dans les programmes enfants qui permettront l'accès aux méthodes de base sans avoir à dupliquer le code. Je pourrais remplacer le code de certaines classes enfants si nécessaire. J'espère que cela a du sens. –

+0

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

Répondre

2

Que pensez-vous de cela?

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(){ 
    ..... 
    } 
}); 

La fonction extension va créer un nouvel objet avec a comme prototype et copier toutes les propriétés de b sur elle.

0

Vous pouvez vérifier ZinkyJS, il offre un moyen très propre pour faire l'héritage de routage