Vì vậy, cho đến nay, tôi đã tạo các lớp và mô-đun node.js
theo cách sau:
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;
Bây giờ với ES6, bạn có thể tạo các lớp "thực tế" giống như sau:
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Bây giờ, trước hết, tôi thích điều này :) nhưng nó đặt ra một câu hỏi. Làm thế nào để bạn sử dụng điều này kết hợp với node.js
cấu trúc mô-đun của?
Giả sử bạn có một lớp học mà bạn muốn sử dụng một mô-đun để trình diễn, hãy nói rằng bạn muốn sử dụng fs
vì vậy bạn tạo tệp của mình:
Animal.js
var fs = require('fs');
class Animal{
constructor(name){
this.name = name ;
}
print(){
console.log('Name is :'+ this.name);
}
}
Đây có phải là cách đúng đắn?
Ngoài ra, làm cách nào để bạn hiển thị lớp này với các tệp khác trong dự án nút của tôi? Và bạn vẫn có thể mở rộng lớp này nếu bạn đang sử dụng nó trong một tệp riêng?
Tôi hy vọng một số bạn sẽ có thể trả lời những câu hỏi này :)
animalModule
là khá vô nghĩa trong một mô-đun nút có phạm vi mô-đun riêng của nó.