Hur importerar och exporterar man namespaces, gränssnitt och typer i TypeScript? Från indexfilen?
Jag vill deklarera ett modul och definiera dess typer och gränssnitt utan att upprepa mig själv - så att jag kan definiera en typ och om det är något som kan delas, använda det igen från någon annanstans.
Så om jag till exempel har en modul som heter: User, vill jag definiera ett namnrymd som heter User och under det definiera ett gränssnitt som heter Address och under Address definiera en eller flera typer.
Nu är Adresstyp något som jag förmodligen kommer att använda i andra moduler - inte specifikt för Användare, utan också för Order till exempel.
Så jag tänkte på att skapa en Interface-mapp och i den här mappen lägga till några filer, en fil per Interface och importera alla dessa Interfaces till en index.ts-fil så att den kan importeras från vilken del av appen som helst - faktiskt även från andra paket och moduler och tjänster som inte kommer från samma app.
Till exempel:
Interfaces
Address.ts
Contact.ts
Role.ts
index.ts
// index.ts
import Address from './Address'
import Contact from './Contact'
...etc
export default { Address, Contact }
Men det här kommer inte att fungera. Eftersom TS bara hjälper till att skriva kod, kommer det inte att lägga till faktiska moduler i koden och exportera det på det sätt jag nämnde ovan är avsett för faktiska moduler, inte bara typer och gränssnitt!
Så hur kan jag exportera och importera TS-objekt (Typer, Gränssnitt, Namnrymder, etc)?
Vad är bästa praxis? Kan du vänligen ge en demo-struktur av det?
Svar #1
Något sådant här...
Jag gjorde en Code Sandbox här som bara skriver ut lite data till konsolen för att bevisa att type imports fungerar. Detta baseras på att ha en types.ts-fil med typer i, och importera dem därifrån till en index.ts så att du verkligen kan importera typer från en annan fil i Typescript.
