导出导入的模块

时间:2015-12-23 22:49:42

标签: javascript ecmascript-6 es2015

我有两个javascript模块,如下所示:

// inner/mod.js
export function myFunc() {
   // ...
}

// mod.js
import * as inner from "./inner/mod";

我想从myFunc导出mod.js。我怎样才能做到这一点?

编辑:我应该澄清该函数是按照inner/mod.js的预期导出的,但我也想从外部mod.js导出函数。

对于那些要求澄清的人,我想实现这个目标:

// SomeOtherFile.js
import * as mod from "mod"; // NOT inner/mod

mod.myFunc();

2 个答案:

答案 0 :(得分:42)

我相信你要找的是

export * from './inner/mod';

这将重新导出./inner/mod的所有导出。 spec实际上有非常好的表格列出了所有可能的importexport变体。

答案 1 :(得分:14)

// inner/mod.js
export function myFunc() {
   // ...
}

// mod.js
import { myFunc } from "./inner/mod";
export { myFunc };

尝试明确导入的内容,越少越好,因为我已经在mod.js中更改了导入。如果您执行导入*,则定义一个变量,该变量将是您导入的模块导出的所有名称的对象。

重新导出与制作自己的东西和导出相同。