微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有require的Node.js ES6类

如何解决具有require的Node.js ES6类

是的,您的示例可以正常工作。

至于公开您的课程,您可以export像其他任何课程一样进行:

class Animal {...}
module.exports = Animal;

或更短一点:

module.exports = class Animal {

};

一旦导入到另一个模块中,您就可以将其视为在该文件中定义了:

var Animal = require('./Animal');

class Cat extends Animal {
    ...
}

解决方法

到目前为止,我已经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);
 }
}

这是正确的方法吗?

另外,如何将此类公开给节点项目中的其他文件?如果在单独的文件中使用它,您仍然可以扩展该类吗?

我希望你们中的一些人能够回答这些问题:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。