reactjs - Generera/underhålla en TypeScript-definitionsfil för mitt React TypeScript-komponentbibliotek


Jag bygger ett React-bibliotek i TypeScript och jag vill ge användare av detta bibliotek en TypeScript-definitionsfil.

Hur ser jag till att TypeScript-definitionsfilen alltid är korrekt och matchar JS-koden?

Eller om mina komponenter är skrivna i TypeScript, finns det ett sätt att generera en enda d.ts-fil från alla de genererade d.ts-filer som kompilatorn genererade åt mig?

Svar #1

Om du är författaren till biblioteket är det mycket enkelt att tillhandahålla och underhålla definitionerna. Det fungerar på samma sätt oavsett vilket bibliotek du använder (till exempel React).

  1. Skapa .d.ts-fil

Du kan skapa en .d.ts-fil genom att ange -d i kompilatorargumenten eller genom att lägga till declaration: true i din tsconfig.json.

  1. Lägg till definitioner i package.json

Lägg till fältet med namnet typings i din project.json, t.ex. "typings": "./index.d.ts" (./index.d.ts är faktiskt standardvärdet om typings utelämnas).


TypeScript-kompilatorn kommer automatiskt att använda de tillhandahållna typsättningarna om användaren installerar ditt bibliotek via NPM.

Mer info:
Skriva deklarationsfiler
Typningar för NPM-paket

Svar #2

som nämnts här: https://stackoverflow.com/a/65629179/10606346

Det enklaste sättet att ha en .d.ts-fil direkt med React är att placera den i src-mappen och namnge den global.d.ts som:

src/global.d.ts

Relaterade artiklar