Aici este sugestia mea. Cred că ceea ce doriți să faceți este să definească un modul care se extinde pe mai multe fișiere sursă. Pentru a realiza acest lucru, trebuie să utilizați un intern modul cum urmează:
Modele / Person.ts
module Model {
export class Person {
name: string;
Message : Message;
constructor(name: string) {
this.name = name;
}
}
}
Modele / 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");
}
}
}
Dacă compilați acest lucru cu
tsc App.ts
atunci totul ar trebui să funcționeze. Observați modul în care modulul outereste declarat în două fișiere sursă. Deoarece acesta este un intern modul, trebuie să spunem compilator pentru a le pune în aplicare nostru prin adăugarea de ///<reference path='foo.ts'/>declarații.