У меня есть файл 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, мне также приходилось менять import в app.js.
я пробовал
import * from './modules/modules'
но переменные недоступны в app.js.
Пример модуля ./modules/a/a.js:
export default function a() {
// whatever
}
@Mohit Это может не стоить много, но невозможно ли импортировать без необходимости в объекте-владельце?
Нет дополнительных затрат на наличие объекта пространства имен модуля из import * as foo from .... Фактически, с его помощью движки могут заранее определить, откуда берутся переменные, и, таким образом, лучше оптимизировать ваш код.
@connexo Насколько я знаю, в текущей версии ECMAScript 6 нет никакого возможного варианта того, что вы ожидаете.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Просто попробуйте импортировать * как sampleModule из './modules/modules'
Вы можете использовать все функции, экспортированные из модуля, используя переменную sampleModule.
import * as sampleModule from './modules/modules'
import './modules/modules'
Невозможно импортировать без необходимости в хост-объекте?
лучше использовать приведенный ниже код. import './modules/modules';
Вы можете сделать что-то вроде этого
import m from './modules/modules'и получить доступ к переменной какm.aилиm.b... Думаю, это не будет стоить много.