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

标签 javascript node.js ecmascript-6

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

// Foo.js
class Foo {
    construct() {
        this.bar = 'bar';
    }
}
module.exports = Foo;

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

// Bar.js
require('./foo');
var foo = new Foo();
var fooBar = foo.bar;

但是,这种语法不起作用。我尝试做的事情是否可行?如果可行,实现此目标的正确语法是什么?

谢谢。

最佳答案

您必须为此使用常规 Node 模块语法。

您的示例代码中有一些错误。首先,class 后面不应该跟()。此外,类构造函数应该是 constructor 而不是 construct。查看下面的 foo.js 以获得正确的语法。

foo.js

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

module.exports = Foo;

bar.js

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

const foo = new Foo();

console.log(foo.foo); // => bar

关于javascript - 如何导出 ES6 类并在另一个模块中构造它的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43620983/

相关文章:

javascript - 将对象中未使用的键与未定义的键进行比较是否正确?

javascript - 有没有办法增加悬停效果的延迟?

javascript - 寻求建议: Javascript replacement of flash element -USA Map

node.js - 连接 ECONNREFUSED 127.0.0.1 :27017'

node.js - 未知编码 Node.js Net/TCP

node.js - 如何确信 websocket 是安全的

javascript - 了解 ES6 模块的代码执行

javascript - 为什么我的 react 变量不会在 DOM 上呈现?

JavaScript 关闭 onclick

javascript - querySelectorAll改变属性