typescript - Uteslut typkontroll på vissa filer


Jag har några styles.istyl-filer kompilerade med en kombination av css-modules och stylus med webpack. TypeScript kan inte känna igen dem utan en d.ts-fil och ger ett file is not a module-fel.

Under tiden skapar jag en .d.ts-fil för varje sådan fil på följande sätt:

declare var whatever: any;
export default whatever;

att tysta felet, men det är tråkigt (vi har dussintals sådana filer).

Är det möjligt att tala om för TypeScript att inaktivera kontrollen för om en fil är en modul om den matchar *.istyl (eller något annat godtyckligt mönster)?

Svar #1

Sätt följande kod som en global deklaration (dvs. i en fil utan export och import):

// global-stylus.d.ts
declare module "*.istyl" {
    const content: string;
    export default content;
}

Kräver TypeScript 2.0 eller högre.