当我看到Babel编译的代码时,它们似乎不是等价的。实际上,前者转换为exports.A = A,它不等同于module.exports = A (可能是module.exports.A = A?)
那么有没有ES6风格的module.export =呢?或者语法仍然保留在ES6中?或者在ES6中不再推荐使用这种语法?
发布于 2015-05-07 00:41:36
您可以使用
export default class A {
}或
class A {
}
export default A;,它将导出为
exports["default"] = A;
module.exports = exports["default"];在互操作部分here.中有一个解释
为了鼓励使用CommonJS和ES6模块,在不使用其他导出的情况下导出默认导出时,除了设置
exports["default"]之外,还将设置module.exports。
发布于 2016-08-29 21:50:48
您可以在节点v6中使用以下内容:
"use strict"
class ClassName {
// class code
}
module.exports = ClassName将上述文件另存为ClassName.js
要将其导入到另一个文件Test.js中:
"use strict"
var ClassName= require('./ClassName.js');
var obj = new ClassName( Vars . . . );有关详细信息,请访问:
Here's an article on exporting classes from modules in Node v6
发布于 2015-12-22 20:52:37
export default A to modules.export=A不支持babel6
您应该添加一个plugin
https://stackoverflow.com/questions/30081155
复制相似问题