#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, кроме самого себя, он не будет работать корректно.