Avatar ·

Que sont les fichiers *.d.ts en TypeScript et à quoi servent-ils ?

Bonjour à tous ! J'ai commencé à étudier TypeScript récemment et j'ai rencontré une chose que je ne comprends pas. Dans les projets, je vois souvent des fichiers avec l'extension `.d.ts`. Par exemple, il y a un dossier `node_modules`, et à l'intérieur des bibliothèques, il y a de tels fichiers. J'en ai ouvert un, et il y avait quelque chose comme : ```typescript declare module 'lodash' { export function chunk(array: T[], size?: number): T[][]; } ``` Je ne comprends pas vraiment ce que c'est. Est-ce une sorte de type distinct de fichiers TypeScript ? À quoi servent-ils si nous avons des fichiers `.ts` ordinaires ? J'ai essayé de créer moi-même un tel fichier et d'y écrire du code, mais le compilateur se plaint quand j'essaie d'y déclarer des variables sans le mot-clé `declare`. J'ai aussi remarqué que si j'écris `import` depuis une bibliothèque qui n'a pas de tels fichiers, TypeScript génère une erreur "Cannot find module". Il semble donc que ces fichiers `.d.ts` aident TypeScript à comprendre quels types existent dans le code JavaScript ordinaire ? Je serais reconnaissant pour une explication détaillée, de préférence avec des exemples.