web-dev-qa-db-fra.com

Node.js ES6 comment exporter la classe du module?

J'essaie d'exporter une classe ES6 à partir d'un module CommonJS dans Node.js 6.2.0

class MyClass{
    //class contents here
}

exports = MyClass;

Importez-le ensuite dans un autre module:

var MyClass = require('/path/to/module.js')
var instance = new MyClass();

Cependant, je reçois l'exception suivante:

TypeError: MyClass is not a constructor

Comment puis-je le faire correctement?

Veuillez noter que je n'utilise pas Babel/Tranceur, c'est du JS pur tel qu'implémenté dans la dernière Node 6.2.0 qui selon Kangax implémente ES6 à 93%.

// Edit: ce n'est pas un problème avec exports vs module.exports. En utilisant les exportations seules, j'obtiens un objet avec __proto__ ensemble.

14
kubal5003

Vous devrez attribuer à module.exports, pas la variable locale exports.

26
Bergi