当我看到Babel的编译代码时,它们似乎并不等效。实际上,前者转换为exports.A = A,而后者等效于module.exports = A(也许是module.exports.A = A?)
exports.A = A
module.exports = A
module.exports.A = A
那有ES6风格module.export =吗?还是语法仍然保留在ES6中?还是在ES6中不再推荐该语法?
module.export =
您可以使用
export default class A { }
要么
class A { } export default A;
哪个将导出为
exports["default"] = A; module.exports = exports["default"];
在这里的互操作部分有一个解释。
为了鼓励使用CommonJS和ES6模块,在导出默认导出时module.exports,除之外还将设置其他导出exports["default"]。
module.exports
exports["default"]