我试图从CommonJS的模块中的Node.js导出ES6类6.2.0Node.js ES6如何从模块中导出类?
class MyClass{
//class contents here
}
exports = MyClass;
然后将它导入另一个模块:
var MyClass = require('/path/to/module.js')
var instance = new MyClass();
但是我得到以下例外:
TypeError: MyClass is not a constructor
我该如何正确地做到这一点?
请注意,我没有使用Babel/Tranceur,它是最新的节点6.2.0中实现的纯JS,根据Kangax的说法,它实现了93%的ES6。
//编辑:这不是出口vs module.exports的问题。单独使用导出时,我得到一些与__proto__
集合的对象。
尝试记录需要模块后得到的内容。 _If它不是构造函数,它是什么?_ – sdgluck
*“这不是出口vs module.exports的问题”*是的! 'exports = MyClass;'不会导出任何内容。这是一个noop。 'module.exports = ...;'是从模块中导出单个值的方法。重复解释了为什么'exports = ...;'不起作用。 –
您应该将@Bergi答案标记为正确(通过点击他答案左侧的灰色'ceck'按钮) –