TSC --module sempre genera la stessa uscita, non importa l'argomento

voti
1

Sono abbastanza nuovo per Javascript, NodeJS e dattiloscritto --obviously--. Mi piacerebbe sperimentare con i servizi del compilatore in src/services(Windows) per fornire IntelliSense, ecc per un editore.

Per quanto posso dire, ho bisogno di essere in grado di requirecodice servizi dattiloscritto in un server NodeJS e comunicare con che dall'editor. Non riuscivo a trovare alcun codice servizi specifici dattiloscritto-NodeJS, quindi penso che avrei dovuto compilare il codice servizi con --module amdper renderlo disponibile per NodeJS via RequireJS.

Se quanto sopra è corretta, i miei tentativi di compilare il codice servizi con --module amdrendimento esattamente gli stessi risultati come utilizzare il tipo di default del modulo (vedi sotto).

$ tsc.cmd --module amd --out amd.js .\languageService.ts
$ tsc.cmd --out comm.js .\languageService.ts
$ diff.exe .\amd.js .\comm.js
$
È pubblicato 02/10/2012 alle 21:40
fonte dall'utente
In altre lingue...                            


2 risposte

voti
2

Questo è certamente fonte di confusione, ma il codice di languageService.ts non è in un 'modulo' nel senso della definizione di AMD / di RequireJS di 'modulo'.

La specifica si riferisce a cose all'interno di un moduleblocco come "moduli interni". Questo è ciò che si sta vedendo in languageService.ts. Si può pensare a loro più come contenitori o single che espongono un nome di primo livello (guardando il codice gen per un semplice modulo interno chiarisce questo un bel po '). Si consumano questi oggetti di livello superiore regolari come senza alcun caricamento del modulo a tutti.

Produrre esterni moduli (come nominato dalle specifiche) per requireè fatto mettendo il exportdirettiva su una dichiarazione di alto livello in un file .ts (vedere la sezione 9.2.1 spec). Ci sono alcuni campioni (ad es imageboard) disponibili per il download che fanno questo se siete interessati.

Risposto il 02/10/2012 a 22:14
fonte dall'utente

voti
1

Bisogna avere i moduli definiti come export module, non il tuo modulee poi compilarlo con --m amdo --module amd.

Mi ha portato poche ore per rendersi conto :)

Risposto il 26/09/2013 a 20:36
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more