Zastanawiam się, czy można w jakiś sposób mieć dwie lub więcej klas w dwóch lub więcej plikach dodanych do tego samego modułu w TypeScript. Coś takiego:Moduły 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 { }
}
}
}
Prawdopodobnie będzie dziesiątki klas GUI, więc posiadanie ich wszystkich w tym samym pliku nie będzie możliwe. Wszystkie moje zajęcia będą w module "mylib". Ale jak to zrobić?
Jeśli module mylib {...}
jest przetłumaczony na funkcję, wówczas cała zawartość wszystkich bloków mylib
we wszystkich plikach powinna być zawarta w ramach tej samej funkcji.
Czy to w ogóle możliwe?
Kiedy kompilacji otrzymuję to:
$ tsc src/gui/button.ts
src/gui/button.ts(4,39): The name 'UIElement' does not exist in the current scope
Tak, to jest obsługiwane. Nie wiem, dlaczego po prostu tego nie spróbowałeś. –
Zrobiłem. Przepraszam, że nie wyjaśniam błędu, który dostałem ... opiszę dalej. –