如何导出ES6类并在另一个模块中构造它的实例?

All*_*ore 5 javascript node.js ecmascript-6

使用Node.js版本7.7.2,我想从这样的模块定义和导出ES6类:

// Foo.js
class Foo {
    construct() {
        this.bar = 'bar';
    }
}
module.exports = Foo;
Run Code Online (Sandbox Code Playgroud)

然后将类导入另一个模块并构造所述类的实例,如下所示:

// Bar.js
require('./foo');
var foo = new Foo();
var fooBar = foo.bar;
Run Code Online (Sandbox Code Playgroud)

但是,此语法不起作用.我正在尝试做什么,如果是这样,实现这个的正确语法是什么?

谢谢.

Mar*_*cke 7

您必须使用常规节点模块语法.

您的示例代码中有一些错误.首先,class不应该遵循().此外,类构造函数应该是constructor没有construct.请查看下面foo.js的正确语法.

foo.js

class Foo {
  constructor () {
    this.foo = 'bar';
  }
}

module.exports = Foo;
Run Code Online (Sandbox Code Playgroud)

bar.js

const Foo = require('./foo');

const foo = new Foo();

console.log(foo.foo); // => bar
Run Code Online (Sandbox Code Playgroud)