Vad är huvudsyftet med index.d.ts i Typescript?


Jag har sett några projekt som deklarerar alla typer i index.d.ts. Så att programmeraren inte behöver explicit importera typen från andra filer.

import { TheType } from './somefile.ts'

Är det rätt användning av index.d.ts-filen? Jag kan inte hitta något i den officiella dokumentationen.

Svar #1

*.d.ts filer används för att ge TypeScript-typinformation om ett modul som är skriven i JavaScript, till exempel underscore/lodash/aws-sdk.

Detta kommer att tillåta dig att använda JavaScript-modulerna utan behov av att konvertera dem till TS utan att få någon typ av fel i din kod.

till exempel, om du har en mapp myAwesomeLib, med filer index.js och index.d.ts

på din kod kommer du att kunna importera koden med

import { SomeMethod } from './myAwesomeLib';

eller

import { SomeMethod } from './myAwesomeLib/index';

ditt TypeScript kommer att förlita sig på .d.ts-filen för att hitta de korrekta typerna för SomeMethod

Redigera: Mer om deklarationsfiler https://basarat.gitbooks.io/typescript/docs/types/ambient/d.ts.html

Svar #2

Det är liknande en .h-fil i C eller så kan du föreställa dig ett gränssnittssubsystem i något annat språk som Java eller PHP

Filen innehåller funktionsprototyp (deklaration och typning) av ett underliggande bibliotek

för referens om hur man genererar en .d.ts-fil från en library.js hänvisa till https://www.typescriptlang.org/docs/handbook/declaration-files/dts-from-js.html

Relaterade artiklar