TypeScript: kan ikke slå type-definitioner fra for et bestemt bibliotek


TypeScript-version: 2.4.1

For eksempel vil jeg bruge et bibliotek fra npm kaldet awesome-lib. Dette bibliotek leveres allerede med en TypeScript typedefinition, men denne er forældet og fejlbehæftet. Forfatteren af biblioteket opdaterer ikke denne.

Jeg har prøvet at deaktivere den type definition helt i min egen declarations.d.ts-fil i mit projekt:

declare module 'awesome-lib';

Desværre læser TypeScript først typedefinitionen i biblioteket og kaster nogle fejl. Så det er ikke muligt for mig at deaktivere/skjule dette bibliotek for mit projekt.

Er der nogen, der ved, hvordan man deaktiverer typekontrol for ét specielt bibliotek?

Svar #1

Måske kunne du prøve at bruge require i stedet for import:

/* tslint:disable:no-var-requires */
const awesomeLib: any = require("awesome-lib");
/* tslint:enable:no-var-requires */

ulemperne er, at du hverken har typekontrol eller intellisense.

Svar #2

Det er måske ikke en rigtig løsning, men hvis biblioteket er forladt og ødelagt, kunne du forgrene det bibliotek, ændre dets typer og bruge det i dit projekt.

Relaterede artikler