Итак, до сих пор я создавал классы и модули node.js
следующим образом:
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;
Теперь с ES6 вы можете создавать «настоящие» классы следующим образом:
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Сейчас, во-первых, мне это нравится :) но возникает вопрос. Как вы используете это в сочетании со node.js
структурой модулей?
Скажем, у вас есть класс, в котором вы хотите использовать модуль для демонстрации, скажем, вы хотите использовать fs
поэтому вы создаете свой файл:
Animal.js
var fs = require('fs');
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Будет ли это правильный путь?
Кроме того, как предоставить этот класс другим файлам в моем проекте узла? И сможете ли вы расширить этот класс, если будете использовать его в отдельном файле?
Надеюсь, некоторые из вас ответят на эти вопросы :)