Hier ist mein Vorschlag. Ich denke , was Sie tun möchten , ist ein Modul zu definieren , die mehrere Quelldateien erstreckt. Um dies zu erreichen, müssen Sie ein verwenden interne Modul wie folgt:
Modelle / Person.ts
module Model {
export class Person {
name: string;
Message : Message;
constructor(name: string) {
this.name = name;
}
}
}
Modelle / Message.ts
module Model {
export class Message {
message: string;
constructor(message: string) {
this.message = message;
}
}
}
App.ts
///<reference path='Models/Person.ts'/>
///<reference path='Models/Message.ts'/>
module MyAppNamespace {
export class ChatApp {
User: Model.Person;
constructor () => {
this.User = new Model.Person("John");
this.User.Message = new Model.Message("Hello World");
}
}
}
Wenn Sie diese kompilieren mit
tsc App.ts
dann sollte alles funktionieren. Beachten Sie, wie Modul outerin zwei Quelldateien deklariert wird. Da dies ein ist internes Modul, haben wir den Compiler sagen , sie in unserem Rahmen , indem zu setzen ///<reference path='foo.ts'/>Aussagen.