Então, até agora, criei classes e módulos node.jsda seguinte maneira:
var fs = require('fs');
var animalModule = (function () {
/**
* Constructor initialize object
* @constructor
*/
var Animal = function (name) {
this.name = name;
};
Animal.prototype.print = function () {
console.log('Name is :'+ this.name);
};
return {
Animal: Animal
}
}());
module.exports = animalModule;
Agora, com o ES6, você é capaz de criar classes "reais" assim:
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Agora, em primeiro lugar, adoro isto :) mas levanta uma questão. Como você usa isso combinado com node.jsa estrutura do módulo de?
Digamos que você tenha uma classe na qual deseja usar um módulo para fins de demonstração, digamos que deseja usar fs
então você cria seu arquivo:
Animal.js
var fs = require('fs');
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Esse seria o caminho certo?
Além disso, como você expõe essa classe a outros arquivos dentro do meu projeto de nó? E você ainda seria capaz de estender esta classe se estiver usando em um arquivo separado?
Espero que alguns de vocês sejam capazes de responder a essas perguntas :)
animalModuleé bastante inútil em um módulo de nó que tem seu próprio escopo de módulo de qualquer maneira.