到目前为止,我已经按以下方式在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);
}
}
这样做是否正确?
另外,如何将这个类暴露给我 Node 项目中的其他文件?如果您在另一个文件中使用它,仍然可以扩展这个类吗?
希望有人能够回答这些问题:)
animalModule
的IIFE是相当无意义的。 - Bergi