Модуль импорта Typescript, который экспортирует другие модули

#typescript

#typescript

Вопрос:

У меня есть два модуля:

ModuleA и ModuleB

И у меня есть два класса: ClassA и ClassB

У меня мои классы определены следующим образом:

 export class ClassA
{
}

export class ClassB
{
}
 

У меня мои модули определены следующим образом:

 export * from './ClassA';
export module ModuleA{};

export * from './ClassB';
export module ModuleB{};
 

У меня также есть содержащий модуль, называемый ParentModule:

 export * from './ModuleB';
export * from './ModuleA';

export module ParentModule{}
 

Теперь в одном из моих файлов typescript, который называется Test.ts, у меня есть:

 import { ClassA } from './ParentModule';

class Test extends ClassA
{

}
 

По какой-то причине он может найти ссылку в моей IDE, но во время выполнения выдает ошибку not defined. Кто-нибудь знает, как это исправить?

Комментарии:

1. Я полагаю, что мне придется сначала импортировать все типы из дочерних модулей, а затем экспортировать * =

2. Нет кубиков. Я импортировал все типы в модуль, затем экспортировал *, но это все равно не сработало. Возможно, это связано с синтаксисом export *, который не работает в TS2

Ответ №1:

Похоже, это связано с рекурсивно импортируемыми модулями.

Если A является частью ParentModule и импортирует что-то из этого ParentModule, кроме самого себя, он не будет работать корректно.