导入所有命名导出项,不需要明确列出它们的导出名称。

19 浏览
0 Comments

导入所有命名导出项,不需要明确列出它们的导出名称。

此问题已有答案在此处 :

在JavaScript(node.js)中导入变量是否可行?

如何使用ES2015语法从文件中导入所有导出的内容?是否有通配符?

我有一个文件modules.js,它按其模块名称导出我所有模块的default导出(遵循ES6在索引文件中的导出/导入):

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中,我想要导入这个模块束。

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

显然,我不想要这样做:

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

因为那很冗长,而且每当我在module.js中添加一个模块时,我也必须更改app.js中的import

我已经尝试过:

import * from './modules/modules'

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

问题:如何简单地按其导出名称导入所有命名导出?

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

export default function a() {
  // whatever
}

admin 更改状态以发布 2023年5月21日
0
0 Comments

只需尝试使用 import * as sampleModule from './modules/modules',您可以使用 sampleModule 变量利用模块中导出的所有函数。

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

import './modules/modules'

0