到目前为止,我已经node.js通过以下方式创建了类和模块:
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
fs
所以您创建文件:
Animal.js
var fs = require('fs'); class Animal{ constructor(name){ this.name = name ; } print(){ console.log('Name is :'+ this.name); } }
这是正确的方法吗?
另外,如何将此类公开给节点项目中的其他文件?如果在单独的文件中使用它,您仍然可以扩展该类吗?
我希望你们中的一些人能够回答这些问题:)
是的,您的示例可以正常工作。
至于公开您的课程,您可以export像其他任何课程一样进行:
export
class Animal {...} module.exports = Animal;
或更短一点:
module.exports = class Animal { };
一旦导入到另一个模块中,您就可以将其视为在该文件中定义了:
var Animal = require('./Animal'); class Cat extends Animal { ... }