以其出口名称导入所有已命名的出口,而不明确列出它们

时间:2018-09-26 11:44:46

标签: javascript ecmascript-6 es6-modules javascript-import

我有一个文件modules.js,该文件按其模块名称(紧随ES6 exporting/importing in index file之后)导出了所有default从我的模块中导出的文件:

export { default as a } from './a/a'
export { default as b } from './b/b'
...
export { default as y } from './y/y'
export { default as z } from './z/z'

在我的app.js中,我想导入此模块捆绑包。

我想从module.js导入从a ... z导出的变量,以便可以在app.js中使用它们。

显然我不想做

import { a, b, c, d, ... , x, y, z } from './modules/modules'

这非常冗长,每当我在module.js中添加一个模块时,我还必须更改import中的app.js

我尝试过

import * from './modules/modules'

但变量在app.js中不可用。

问题:如何简单地以其导出名称导入所有已命名的导出

示例模块./modules/a/a.js

export default function a() {
  // whatever
}

1 个答案:

答案 0 :(得分:2)

只需尝试从*。/ modules / modules中导入*作为sampleModule

您可以使用sampleModule变量来利用模块中所有导出的功能。

import * as sampleModule from './modules/modules'

import './modules/modules'