Prečo projekty typu Typescript zahŕňajú definície .d.ts ... sa zdá byť neproduktívne?
Ak je knižnica už vyvinutá v typeScript(napríklad Angular2 let) a prekladač TS môže používať zdrojové súbory .ts pre intellisence, prečo stále vidím v TS projektov súbor .dts bol zahrnutý?
Teraz si môžete ľahko vygenerovať definíciu .d.ts pomocou spustiteľného súboru tsd, ale nemôžem vidieť logiku.
S pozdravom,
Sean
odpovede:
4 pre odpoveď č. 1To sa týka distribúcie. Odkazovanie na projekt cez npm / bower poskytuje "hlavný" súbor, ktorý je javascript, nie strojopis. Ako taký je najviac zmysluplné, aby výstup kompilácie projektu typu Typescript bol:
a) Skopírovaný súbor javascript, prípadne minifikovaný
b) Súbor adries, ktorý opisuje anotácie typu (typ súboru hlavičky ako C)
Nebolo by rozumné rozširovať sa v strojárstve, pretože by zabránilo tomu, aby projekty javascript používali, alebo by si vyžadovali oddelenú verziu balíka npm.