使用 6to5 的 ES6 默认模块语法

ES6 Default Module Syntax with 6to5

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

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

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

export var foo = 'bar';

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

var foo = exports.foo = 'bar';

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

您必须使用 default 关键字导出 foo 实体:

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