导出导入的简写

时间:2015-04-01 07:16:03

标签: javascript ecmascript-6

我有意与BabelJS这样做,但是我不确定Babel或规格是否支持它。

鉴于Outer.js

export default function() { }

以下示例不起作用。

export Outer from './Outer'

使用CommonJS模块,可以很容易地将其写为

exports.x = require('./x');

2 个答案:

答案 0 :(得分:4)

2015年4月3日以来, BabelJS 团队已于3天前发布了v5.0,其中包括对其export foo from "bar"; 所述的速记的支持。 3}}

  

Lee Byron的第1阶段附加导出语句提议完成了导入和导出语句之间的对称性,允许您轻松地从外部模块导出名称空间和默认值,而无需修改本地范围。

     

导出默认

import _foo from "bar";
export { _foo as foo };
     

相当于:

export v from "mod";

旧答案

此导出符号

import
ES6中不支持

(查看受支持的示例blog post),但ES7中可以支持它(查看in the specification)。

要实现完全相同的结果,您现在必须使用import Outer from './Outer'; export {Outer};

{{1}}

答案 1 :(得分:1)

TypeScript 1.5还支持ES 2015附加导出语句语法:

export { default as Injector } from './lib/Injector';

生成以下ES5:

var Injector_1 = require('./lib/Injector');
exports.Injector = Injector_1.default;