Мне интересно, возможно ли как-то иметь два или более классов в двух или более файлах, добавленных в тот же модуль в TypeScript. Что-то вроде этого:
//src/gui/uielement.ts
module mylib {
module gui {
export interface UIElement {
public draw() : void;
}
}
}
//src/gui/button.ts
///<reference path='uielement.ts'/>
module mylib {
module gui {
export class Button implements UIElement {
constructor(public str : string) { }
draw() : void { }
}
}
}
Вероятно, будут десятки классов GUI, поэтому их всех в одном файле невозможно. И все мои классы будут в модуле "mylib". Но как мне это сделать?
Если module mylib {...}
переводится в функцию, то все содержимое всех блоков mylib
во всех файлах должно содержаться в одной и той же функции.
Возможно ли это?
Когда я компилирую, я получаю следующее:
$ tsc src/gui/button.ts
src/gui/button.ts(4,39): The name 'UIElement' does not exist in the current scope