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

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


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

export var foo = 'bar';


但是,当通过6to5运行时,将生成:

var foo = exports.foo = 'bar';


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

最佳答案

您必须使用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

关于javascript - 具有6to5的ES6默认模块语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27932736/

10-11 23:30
查看更多