带有6to5的ES6默认模块语法

时间:2015-01-13 22:33:25

标签: javascript amd ecmascript-6 babeljs

是否可以使用ES6模块语法重新创建以下内容?

var foo = {};
module.exports = foo;

ES6支持将声明性关键字添加到表达式中,如下所示:

export var foo = 'bar';

但是,当运行6to5时,会生成:

var foo = exports.foo = 'bar';

是否可以将此语法与default关键字结合使用,以生成顶级代码段?

1 个答案:

答案 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