web-dev-qa-db-ja.com

Node.js ES6モジュールからクラスをエクスポートする方法

Node.js 6.2.0のCommonJSモジュールから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は最新のNode 6.2.0で実装されている純粋なJSです。Kangaxによれば93%でES6を実装しています。

//編集:これはexportsとmodule.exportsの問題ではありません。エクスポートのみを使用しているときに、__proto__が設定されたオブジェクトを取得しています。

10
kubal5003

ローカルのexports変数ではなく、module.exportsに割り当てる必要があります。

26
Bergi