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).
- 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.
- 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