Один общий шаблон - иметь один файл, который импортирует все компоненты аналогичного контекста, а затем экспортирует их все. Тогда вы можете import
из этого одиночного файла на гораздо более высоком уровне в дереве. Например, Angular2 делает this.
/**
* @module
* @description
* Starting point to import all public core APIs.
*/
export * from './src/core/metadata';
export * from './src/core/util';
export * from './src/core/prod_mode';
export * from './src/core/di';
export * from './src/facade/facade';
export {enableProdMode} from 'angular2/src/facade/lang';
export {
createPlatform,
assertPlatform,
disposePlatform,
getPlatform,
coreBootstrap,
coreLoadAndBootstrap,
createNgZone,
PlatformRef,
ApplicationRef
} from './src/core/application_ref';
export {
APP_ID,
APP_INITIALIZER,
PACKAGE_ROOT_URL,
PLATFORM_INITIALIZER
} from './src/core/application_tokens';
export * from './src/core/zone';
export * from './src/core/render';
export * from './src/core/linker';
export {DebugElement, DebugNode, asNativeElements} from './src/core/debug/debug_node';
export * from './src/core/testability/testability';
export * from './src/core/change_detection';
export * from './src/core/platform_directives_and_pipes';
export * from './src/core/platform_common_providers';
export * from './src/core/application_common_providers';
export * from './src/core/reflection/reflection';
Как вы можете видеть, вместо того, чтобы import {Foo} from './src/core/platform_common_providers'
, например, вы просто делаете import {Foo} from "angular2/core"
Поскольку ES2015 модули фактически не реализованы ни в одном двигателей JavaScript, ответ на ваш вопрос будет зависеть от того, какую технологию вы используете для подделки модулей ES2015. Вы должны включить это в свой вопрос. Например, являются ли эти «модули Babel» или «модули TypeScript» или ...? – Domenic
Модуль загрузчика не является частью ECMAScript. Вам нужно будет прочитать документацию вашей среды/инструмента, которую вы используете для загрузки модулей, если они предоставляют для этого вариант. Таким образом, это не имеет ничего общего с ES6, но с окружающей средой/инструментом, который вы используете. –
Хорошо, я отредактировал сообщение, чтобы добавить, что я использую webpack + babel. – aiokos