Môžem deklarovať rozhrania TypeScriptu v samostatnom súbore a používať ich bez toho, aby som ich niekedy importoval?
Práve teraz musím buď deklarovať rozhranie presne tam, kde ho používam, alebo import {ISomeInterface} from './somePlace'. Existuje spôsob, ako jednoducho deklarovať rozhrania v súboroch something.interface.ts a používať tie rozhrania bez ich importovania?
Napríklad, ja neprihlasujem @types/node, aby som používal rozhrania deklarované v @types/node, správne? Chcel by som to robiť aj s vlastnými rozhraniami.
Odpoveď č. 1
Typy môžete deklarovať globálne. Ak deklarujete súbor ts alebo d.ts, ktorý nič neexportuje a nepoužíva žiadny príkaz import, váš súbor sa bude považovať za pridaný do globálneho rozsahu. Môžete použiť import typov, ak potrebujete pristupovať k typom z modulov, pomocou import('moduleName').Type.
Môžete tiež použiť declare global vo vnútri súboru, ktorý obsahuje importy:
import { Type } from 'module'
declare global {
interface GlobalInterface {
o: Type
}
}
