Do tej pory tworzyłem klasy i moduły w node.js
następujący sposób:
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;
Teraz z ES6 możesz tworzyć „rzeczywiste” klasy, takie jak to:
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Przede wszystkim uwielbiam to :), ale rodzi pytanie. Jak to wykorzystać w połączeniu ze node.js
strukturą modułu?
Powiedzmy, że masz klasę, w której chcesz użyć modułu do celów demonstracyjnych, powiedz, że chcesz użyć fs
więc tworzysz swój plik:
Animal.js
var fs = require('fs');
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Czy to byłby właściwy sposób?
Ponadto, jak udostępnić tę klasę innym plikom w moim projekcie węzła? Czy nadal byłbyś w stanie rozszerzyć tę klasę, jeśli używasz jej w osobnym pliku?
Mam nadzieję, że część z Was będzie w stanie odpowiedzieć na te pytania :)
animalModule
jest całkiem bezcelowe w module węzła, który i tak ma własny zakres modułu.