是否可以使用ES6模块语法重新创建以下内容?
var foo = {};
module.exports = foo;
ES6支持将声明性关键字添加到表达式中,如下所示:
export var foo = 'bar';
但是,当运行6to5时,会生成:
var foo = exports.foo = 'bar';
是否可以将此语法与default关键字结合使用,以生成顶级代码段?
答案 0 :(得分:4)
您必须使用foo
关键字导出default
实体:
var foo = {};
export default foo;
它会产生你想要的东西。
PS :每个模块只能导出一个default
变量,并且可以不带大括号导入它:
import foo from 'some_module';
如果您要导出多个变量:
export var foo = 10;
export var boo = 'something';
然后你必须用大括号导入它们:
import { foo, boo } from 'some_module';
在这种情况下,6to5
会产生比你的例子更复杂的结果。
有关ES6模块的更多信息,请阅读here