Экспорт импортированного модуля

У меня есть два модуля 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. Если вы выполняете импорт *, вы определяете переменную, которая будет объектом экспорта всех имен из того модуля, который вы импортировали.

реэкспорт - это то же самое, что сделать что-то свое и экспортировать.

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