打字稿:先前声明的替代变量

时间:2018-11-17 02:21:37

标签: typescript

我正在处理Typescript声明文件,该库的一种类型称为“图像”,如下所示。

declare class Image {
    static fromData(data: Data): Image;
    static fromFile(filePath: string): Image;
}

不幸的是,我收到一条错误消息,说“图像”是重复的标识符,我无法使用它。

../../../../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.

有什么办法可以覆盖先前的声明(它甚至不是类型,而只是HTMLImageElement的构造函数)并重新利用它?谢谢

1 个答案:

答案 0 :(得分:0)

这就是为什么始终要选择导出类型而不是环境类型(全局,存储在* .d.ts文件中)的原因。

只需创建一个文件,例如具有以下内容的types.ts

var output = new string(input.Reverse().ToArray());

然后照常导入export class Image { static fromData(data: Data): Image; static fromFile(filePath: string): Image; }

如果仍然存在冲突,则可以import {Image} from './types'