Powiedz, że chcę mieć plik jednej klasy na .ts. Mam dwa pliki .TS, które wyglądają tak:Jak umieścić wiele zewnętrznych modułów w tej samej przestrzeni nazw w TypeScript?
export module MyClasses { export class A {} }
i
export module MyClasses { export class B {} }
Nie mogę tego zrobić:
import MyClasses = module('A');
import MyClasses = module('B');
jaki sposób definiowania klas w osobnych plikach i umieścić je w tej samej "przestrzeni nazw"? Ponadto, możemy skończyć się zrobić coś takiego:
MyClasses.MyClasses.A
zamiast
MyClasses.A
jaki jest sens tego dodatkowego poziomu hierarchii? Aby mieć więcej niż jeden wyeksportowany moduł w pliku modułu? Najlepszym rozwiązaniem, jakie do tej pory odkryłem, jest usunięcie "modułu eksportu" (ponieważ "klasa eksportowa" wydaje się wystarczająca przy kompilacji AMD), która przenosi klasę o jeden poziom hierarchiczny. Następnie:
import AModule = module('A');
module MyClasses{ var A = AModule.A; }
import BModule = module('B');
module MyClasses { var B = BModule.B; }
Chociaż działa idealnie, nie jest dokładnie zwięzły. Czy nie ma lepszego sposobu na zrobienie tego?
Złożyłem żądanie funkcji dla słowa kluczowego, które robi coś takiego: http://typescript.codeplex.com/workitem/305 – Brent