Hur man deklarerar globala TypeScript-gränssnitt i Next.js


Jag gör en e-handelswebbapp med next.js och typescript för frontend, där jag har deklarerat många gränssnitt som är liknande på olika sidor och komponenter. Finns det något sätt jag kan skapa globala gränssnitt som kan nås av alla sidor och komponenter?

Svar #1

Faktiskt tycker jag att det är en bättre metod att importera typerna. Men om du vill skapa typerna globalt, kan du skapa en custom.d.ts-fil i roten av din applikation. Sedan kan du skapa typerna där.

    declare global {
      interface User {
        name: string;
        email: string;
      }
    }

Detta kommer att fungera. Men jag rekommenderar inte att använda detta.

Svar #2

@Prantas svar är korrekt, men du behöver också exportera i slutet.

declare global {
    interface User {
        name: string;
        email: string;
    }
}
export default global;