Node.js ES6“导出类A”是否等同于“module.exports=A”?
当我看到Babel编译的代码时,它们似乎并不等价。 实际上,前者转换为Node.js ES6“导出类A”是否等同于“module.exports=A”?,node.js,ecmascript-6,Node.js,Ecmascript 6,当我看到Babel编译的代码时,它们似乎并不等价。 实际上,前者转换为exports.A,这并不等同于module.exports=A(可能是module.exports.A=A?) 那么是否存在ES6样式的module.export=?还是语法仍然保留在ES6中?或者ES6中不再推荐这种语法?您可以使用 export default class A { } 或 它将作为 exports["default"] = A; module.exports = exports["default"];
exports.A
,这并不等同于module.exports=A
(可能是module.exports.A=A
?)
那么是否存在ES6样式的module.export=
?还是语法仍然保留在ES6中?或者ES6中不再推荐这种语法?您可以使用
export default class A {
}
或
它将作为
exports["default"] = A;
module.exports = exports["default"];
在互操作部分有一个解释
为了鼓励使用CommonJS和ES6模块,在导出没有其他导出的默认导出时,模块。除了导出[“默认”]
之外,还将设置导出
babel6不受支持
将默认A
导出到模块。导出=A
您应该添加一个您可以在节点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 . . . );
有关更多信息:
"use strict"
var ClassName= require('./ClassName.js');
var obj = new ClassName( Vars . . . );