导出导入的模块

Max*_*Max 27 javascript ecmascript-6 es2015

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

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

// mod.js
import * as inner from "./inner/mod";
Run Code Online (Sandbox Code Playgroud)

我想出口myFuncmod.js.我怎样才能做到这一点?

编辑:我应该澄清该功能正在按预期导出,inner/mod.js但我也想从外部导出功能mod.js.

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

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

mod.myFunc();
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 50

我相信你在寻找的是

export * from './inner/mod';
Run Code Online (Sandbox Code Playgroud)

这将重新出口所有出口./inner/mod.该规范实际上是一个非常好的表,列出了所有可能的importexport变体.

  • 似乎唯一有效的方法是 `import mod from "./inner/mod"; 导出{mod}`。使用 `export * from './inner/mod';` 似乎不起作用。 (4认同)
  • 是的,这只会涵盖指定的出口.您可以使用`./inner/mod';`中的`export {default}显式导出默认导出. (4认同)

Nor*_*ert 17

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

// mod.js
import { myFunc } from "./inner/mod";
export { myFunc };
Run Code Online (Sandbox Code Playgroud)

尽量明确你导入的内容,越少越好,因为我已经在mod.js中更改了你的导入.如果你进口*,你定义它将会从您导入模块的所有名称出口的对象的变量.

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

  • `export {myFunc as myFunc};`可以写成`export {myFunc};`. (4认同)