ES6模块:重新导出为对象

ale*_*ung 13 javascript module ecmascript-6

我有moduleA导出一些函数:

// moduleA.js
export function f1() {...}
export function f2() {...}
Run Code Online (Sandbox Code Playgroud)

有没有办法在moduleB中重新导出moduleA的所有导出并使其看起来像一个对象:

// moduleB.js
export * as a from 'moduleA';  // pseudo code, doesn't work
Run Code Online (Sandbox Code Playgroud)

这样我就可以这样使用它?

// main.js
import {a} from 'moduleB';
a.f1();
a.f2();
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 24

语法尚不支持,但有一个提案.

您现在可以使用它与Babel.js或只是做:

import * as a from '...';
export {a};
Run Code Online (Sandbox Code Playgroud)

  • 对于任何人来说 - 提案仍处于第1阶段.它不包含在`babel-preset-env`或`babel-preset-latest`中.您需要单独安装它:http://babeljs.io/docs/plugins/transform-export-extensions/ (3认同)