TSC --module generează întotdeauna aceeași ieșire nu contează argumentul

voturi
1

Sunt destul de nou pentru a Javascript, NodeJS și typescript --obviously--. Aș vrea să experimenteze cu serviciile de compilare în src/services(Windows) pentru a oferi Intellisense, etc pentru un editor.

În ceea ce pot spune, trebuie să fie în măsură să requirecodul de servicii typescript într - un server NodeJS și să comunice cu cea din editor. Nu am putut găsi nici un cod de servicii typescript NodeJS-specifice, deci cred că ar trebui să compileze codul de servicii cu --module amdpentru a pune la dispoziția NodeJS prin intermediul RequireJS.

Dacă cele de mai sus este corectă, încercările mele de a compila codul de servicii cu --module amdrandament exact aceleași rezultate ca și folosind modulul de tipul implicit (vezi mai jos).

$ tsc.cmd --module amd --out amd.js .\languageService.ts
$ tsc.cmd --out comm.js .\languageService.ts
$ diff.exe .\amd.js .\comm.js
$
Întrebat 02/10/2012 la 21:40
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
2

Acest lucru este, desigur, confuz, dar codul în languageService.ts nu este într-un „modul“ în sensul definiției AMD / RequireJS a „modulului“.

Spec se referă la lucrurile din interiorul unui modulebloc ca „module interne“. Asta e ceea ce vedeți în languageService.ts. Vă puteți gândi la ele mai mult ca containere sau singletons care expun un nume de nivel superior (uita la codul de gen pentru un modul intern simplu clarifică acest lucru destul de un pic). Tu consuma aceste obiecte , cum ar fi regulate de nivel superior , fără nici un încărcător modul , la toate.

Producerea externe module (așa cum era numită de spec) pentru requirese face prin punerea exportdirectivei privind o declarație de nivel superior într - un fișier TS ( a se vedea secțiunea 9.2.1 spec). Există unele probe ( de exemplu , imageboard) disponibile pentru descărcare care fac acest lucru , dacă sunteți interesat.

Publicat 02/10/2012 la 22:14
sursa de către utilizator

voturi
1

Trebuie să ai modulele definite ca export module, nu - ul moduleși apoi compilați - l cu --m amdsau --module amd.

mi-a luat câteva ore pentru a realiza :)

Publicat 26/09/2013 la 20:36
sursa de către utilizator

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