Я пишу пакет, используя TypeScript. В пакете есть несколько модулей, которые я хочу опубликовать sh через основной файл пакета.
Например, у меня есть три модуля core / module1, core / module2 и module3. Я хочу экспортировать их так, чтобы я мог получить к ним доступ следующим образом:
import myPackage from 'my-package'; // the package that I created with the three modules
myPackage.core.module1;
myPackage.core.module2;
myPackage.module3;
Я пробовал это решение в файле основного пакета:
import module1 from './core/module1';
import module2 from './core/module2;
import module3 from './module3';
export = {
core: {
module1,
module2
},
module3
}
Это работает хорошо, за исключением того, что любые типы в модулях будут потеряны. Например, если module1 экспортирует интерфейс IModule1Interface
, то этот интерфейс больше нельзя использовать после импорта пакета. Т.е. следующий код больше не будет работать, так как тип интерфейса не найден:
import myPackage from 'my-package';
const myInterface: myPackage.IModule1Interface = {};