Entonces, hasta ahora, he creado clases y módulos de node.js
la siguiente manera:
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;
Ahora, con ES6, puede crear clases "reales" como esta:
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Ahora, en primer lugar, me encanta esto :) pero plantea una pregunta. ¿Cómo se usa esto combinado con node.js
la estructura del módulo de '?
Supongamos que tiene una clase en la que desea utilizar un módulo por motivos de demostración, digamos que desea utilizar fs
para que crees tu archivo:
Animal.js
var fs = require('fs');
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
¿Sería esta la forma correcta?
Además, ¿cómo expones esta clase a otros archivos dentro de mi proyecto de nodo? ¿Y aún podría extender esta clase si la usa en un archivo separado?
Espero que algunos de ustedes puedan responder estas preguntas :)
animalModule
tiene sentido en un módulo de nodo que tiene su propio alcance de módulo de todos modos.