srp*_*rph 5 javascript ecmascript-6
我一直想用 BabelJS 来做这件事,但是我不确定 Babel 或规范目前是否支持它。
鉴于Outer.js:
export default function() { }
Run Code Online (Sandbox Code Playgroud)
下面的例子不起作用。
export Outer from './Outer'
Run Code Online (Sandbox Code Playgroud)
使用 CommonJS 模块,这可以很容易地写成
exports.x = require('./x');
Run Code Online (Sandbox Code Playgroud)
截至2015 年 4 月 3 日,BabelJS团队已于 3 天前发布,其中包括对他们博客文章v5.0中所述的速记的支持。
Lee Byron 的第 1 阶段附加导出语句提案完成了导入和导出语句之间的对称性,使您可以轻松地从外部模块导出命名空间和默认值,而无需修改本地范围。
导出默认值
Run Code Online (Sandbox Code Playgroud)export foo from "bar";相当于:
Run Code Online (Sandbox Code Playgroud)import _foo from "bar"; export { _foo as foo };
旧答案:
此导出符号
export v from "mod";
Run Code Online (Sandbox Code Playgroud)
ES6 中不支持(查看规范中支持的示例),但 ES7 中可以支持(查看此提案)。
要获得完全相同的结果,您import现在必须使用:
import Outer from './Outer';
export {Outer};
Run Code Online (Sandbox Code Playgroud)