TypeScript publi sh модули с типом вложенных объектов - PullRequest
0 голосов
/ 09 марта 2020

Я пишу пакет, используя 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 = {};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...