Babel でコンパイルされたコードを見ると、それらは等価ではないようです。実際、前者は に変換されますがexports.A = A
、これは と等価ではありませんmodule.exports = A
( である可能性がありますかmodule.exports.A = A
?)
では、ES6 スタイルはあるのでしょうかmodule.export =
? それとも、構文は ES6 でもそのままなのでしょうか? それとも、その構文は ES6 では推奨されなくなったのでしょうか?
ベストアンサー1
使用できます
export default class A {
}
または
class A {
}
export default A;
エクスポートすると
exports["default"] = A;
module.exports = exports["default"];
相互運用セクションに理由の説明がありますここ。
CommonJS および ES6 モジュールの使用を促進するために、エクスポート時に、他のエクスポートがないデフォルトのエクスポート
module.exports
が に加えて設定されますexports["default"]
。