Donc jusqu'à présent, j'ai créé des classes et des modules de node.js
la manière suivante:
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;
Maintenant avec ES6, vous pouvez créer des classes "réelles" comme ceci:
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Maintenant, tout d'abord, j'adore ça :) mais cela soulève une question. Comment utilisez-vous cela combiné avec node.js
la structure des modules de?
Disons que vous avez une classe où vous souhaitez utiliser un module à des fins de démonstration, dites que vous souhaitez utiliser fs
donc vous créez votre fichier:
Animal.js
var fs = require('fs');
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Serait-ce la bonne manière?
De plus, comment exposez-vous cette classe à d'autres fichiers dans mon projet de nœud? Et seriez-vous toujours en mesure d'étendre cette classe si vous l'utilisez dans un fichier séparé?
J'espère que certains d'entre vous pourront répondre à ces questions :)
animalModule
est assez inutile dans un module de nœud qui a de toute façon sa propre portée de module.