node.js - Hur får tsc sina definitioner när man använder npm-definitioner


Så jag bestämde mig för att sluta använda typings och bara använda npm. Så du har @types-katalogen i node_modules, men utöver det finns det inga ytterligare filer.

Med typings var jag alltid tvungen att inkludera filen index.d.ts i typings, men när jag använder npm är detta inte nödvändigt. Jag vill fråga varför detta är fallet.

Använder npm någon typ av dold funktion i tsc eller kom Microsoft och personerna bakom npm överens om något?

Svar #1

Ja, tsc kontrollerar automatiskt ./node_modules/@types. Ta en titt:

Som standard inkluderas alla synliga "@types"-paket i din kompilering. Paket i node_modules/@types i någon omgivande mapp betraktas som synliga; specifikt betyder det paket inom ./node_modules/@types/, ../node_modules/@types/, ../../node_modules/@types/ och så vidare.