到目前为止,我已经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);
}
}
这是正确的方法吗?
另外,如何将此类公开给节点项目中的其他文件?如果在单独的文件中使用它,您仍然可以扩展该类吗?
我希望你们中的一些人能够回答这些问题:)
animalModule
在拥有自己的模块作用域的节点模块中,创建您的IIFE 毫无意义。