Экспорт импортированного модуля
У меня есть два модуля JavaScript, который выглядит так:
// inner/mod.js
export function myFunc() {
// ...
}
// mod.js
import * as inner from "./inner/mod";
Я хотел бы экспортировать myFunc
от mod.js
, Как я могу это сделать?
РЕДАКТИРОВАТЬ: я должен уточнить, что функция экспортируется, как ожидается, из inner/mod.js
но я также хочу экспортировать функцию из внешнего mod.js
,
Тем, кто просит разъяснений, я хотел бы добиться этого:
// SomeOtherFile.js
import * as mod from "mod"; // NOT inner/mod
mod.myFunc();
2 ответа
Я верю, что вы ищете
export * from './inner/mod';
Это реэкспортирует весь экспорт ./inner/mod
, Спецификация на самом деле очень хорошая таблица, в которой перечислены все возможные export
а также import
варианты.
// inner/mod.js
export function myFunc() {
// ...
}
// mod.js
import { myFunc } from "./inner/mod";
export { myFunc };
Постарайтесь четко указать, что вы импортируете, чем меньше, тем лучше, из-за этого я изменил ваш импорт в mod.js. Если вы выполняете импорт *, вы определяете переменную, которая будет объектом экспорта всех имен из того модуля, который вы импортировали.
реэкспорт - это то же самое, что сделать что-то свое и экспортировать.