使用 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
是否可以使用 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