Скажем, я хочу иметь один класс для каждого файла .ts. У меня есть два файла .ts, которые выглядят так:
export module MyClasses { export class A {} }
и
export module MyClasses { export class B {} }
Я не могу этого сделать:
import MyClasses = module('A');
import MyClasses = module('B');
Как определить классы в отдельных файлах и поместить их в одно и то же "пространство имен"? Кроме того, нам приходится делать что-то вроде:
MyClasses.MyClasses.A
вместо
MyClasses.A
Какова точка этого дополнительного уровня иерархии? Чтобы вы могли иметь более одного экспортированного модуля в файле модуля? Лучшим решением, которое я выяснил до сих пор, является удаление "модуля экспорта" (поскольку "класс экспорта", по-видимому, достаточен при компиляции AMD), который перемещает класс на один иерархический уровень. Тогда:
import AModule = module('A');
module MyClasses{ var A = AModule.A; }
import BModule = module('B');
module MyClasses { var B = BModule.B; }
Хотя он работает отлично, он не совсем лаконичен. Нет ли лучшего способа сделать это?