Angenommen, ich möchte eine Klasse pro .ts-Datei haben. Ich habe zwei .ts Dateien, die wie so aussehen:Wie fügen Sie in TypeScript mehrere externe Module in denselben Namespace ein?
export module MyClasses { export class A {} }
und
export module MyClasses { export class B {} }
Ich kann das nicht tun:
import MyClasses = module('A');
import MyClasses = module('B');
Wie kann ich definieren Klassen in separaten Dateien und sie in den gleichen "Namensraum" legen? Darüber hinaus wir am Ende so etwas wie zu tun haben:
MyClasses.MyClasses.A
statt
MyClasses.A
Was ist der Sinn dieser zusätzlichen Ebene der Hierarchie? Damit Sie mehr als ein exportiertes Modul in einer Moduldatei haben können? Die beste Lösung, die ich bisher herausgefunden habe, ist das Entfernen des "Exportmoduls" (da "Exportklasse" beim Kompilieren von AMD ausreichend ist), was die Klasse um eine hierarchische Ebene nach oben verschiebt. Dann:
import AModule = module('A');
module MyClasses{ var A = AModule.A; }
import BModule = module('B');
module MyClasses { var B = BModule.B; }
Obwohl es perfekt funktioniert, ist es nicht gerade prägnant. Gibt es dafür keinen besseren Weg?
Ich habe eine Feature-Anfrage für ein Keyword gemacht, das in etwa so funktioniert: http://typescript.codeplex.com/workitem/305 – Brent