1

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

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

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

export var foo = 'bar';

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

var foo = exports.foo = 'bar';

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

4

1 回答 1

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 模块的信息

于 2015-01-13T23:38:25.280 回答