Recentemente ho lavorato con TypeScript e tutto è andato bene e mi piace davvero molto. Rende il JavaScript ancora utilizzabile! :)File multipli che compongono il progetto Type Script
abbiamo cercato di seguire la stessa idea come avremmo dietro ogni progetto .net esempio unico file per classe/interfaccia
module Infrastructure {
export interface IBaseViewModel {
addOrRemoveClass(selector: string, className: string);
}
}
il problema che abbiamo incontrato è questo - tutti i file dipendenti sono non essere incluso? quando si tratta di correre.
Se si guarda a questo file, che è il punto di ingresso principale per la nostra applicazione, ottengo un errore non definito sulla creazione di una nuova ViewModelBuilder
module Infrastructure {
export class Fusion {
constructor() {
this.vmBuilder = new ViewModelBuilder();
this.setApplicationDefaults();
this.start();
}
private vmBuilder: IViewModelBuilder;
private start() {
this.vmBuilder.process();
}
private setApplicationDefaults() {
$.pnotify.defaults.styling = "jqueryui";
$.pnotify.defaults.history = false;
$.pnotify.defaults.auto_display = false;
}
}
}
e nella parte superiore del file abbiamo
/// <reference path="../Typings/jquery.d.ts" />
/// <reference path="ViewModelBuilder/ViewModelBuilder.ts" />
/// <reference path="ViewModelBuilder/IViewModelBuilder.ts" />
anche ViewModelBuilder
module Infrastructure {
export class ViewModelBuilder { }
}
Quindi la domanda è questo - qual è il modo migliore per andare avanti? come possiamo far funzionare le altre dichiarazioni di classe? il nostro progetto aumenterà considerevolmente probabilmente 100 modelli di visualizzazione che rappresenteranno ogni vista (il progetto è una conversione da forme di finestre al web)
Qualsiasi aiuto sarebbe fantastico visto che abbiamo davvero bisogno di conquistarlo e andare avanti! :)
Sembra una buona idea e sarebbe ideale per una versione, come funzionerebbe per il debug e le mappe di origine? – Steoates
Metto le mani qui sopra e dico "Non uso mappe sorgente" - Sono piuttosto a mio agio con il codice JavaScript generato, quindi eseguo il debug direttamente. Credo che le mappe sorgente siano pensate per funzionare con i singoli file piuttosto che con 'final.js' – Fenton
Le mappe sorgente dovrebbero funzionare con un file' --out'-fatto (sottolineo 'should' come questa funzione non è ancora completamente stabilizzata). –