Typescript: Suprascrie variabila declarată anterior
Lucrez la un fișier de declarație Typescript, iar unul dintre tipurile pentru bibliotecă se numește 'Image', așa cum se arată mai jos.
declare class Image {
static fromData(data: Data): Image;
static fromFile(filePath: string): Image;
}
Din păcate, primesc o eroare care spune că 'Image' este un identificator duplicat și nu îl pot folosi.
../../../../usr/local/lib/node_modules/typescript/lib/lib.dom.d.ts:16908:13 - error TS2300: Duplicate identifier 'Image'.
16908 declare var Image: {
~~~~~
index.d.ts:2:15
2 declare class Image {
~~~~~
'Image' was also declared here.
Există vreo modalitate prin care să pot suprascrie declarația anterioară (care nici măcar nu este un tip, ci doar un constructor pentru HTMLImageElement) și să o refolosesc? Mulțumesc
Răspuns #1
Acesta este motivul pentru care ar trebui să preferați întotdeauna tipurile exportate în detrimentul celor ambientale (globale, stocate în fișiere *.d.ts).
Doar creează un fișier, de exemplu types.ts, cu următorul conținut
export class Image {
static fromData(data: Data): Image;
static fromFile(filePath: string): Image;
}
apoi importă-l ca de obicei import {Image} from './types'
dacă încă ai un conflict, poți face asta import {Image as MyImage} from './types'
