Então, até agora, criei classes e módulos node.js
da 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.js
a 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.