Импортировать все именованные экспорты под своим именем экспорта без явного перечисления их

У меня есть файл 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Я хочу импортировать этот модуль.

Я хочу, чтобы экспортированные переменные из...z были импортированы из module.js так что я могу использовать их в 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 ответ

Просто попробуйте импортировать * как sampleModule из./modules/modules

Вы можете использовать всю экспортируемую функцию из модуля, используя переменную sampleModule.

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

import './modules/modules'

Другие вопросы по тегам