打字稿声明合并-重复的标识符

时间:2019-10-18 15:02:36

标签: typescript cesium definitelytyped

我试图弄清楚如何扩展@types/cesium,但是它要么抱怨我在情况(a)中有重复的类型定义,要么抱怨找不到其他Cesium类型定义( b)。

请注意,index.d.ts是原始类型Rectangle所在的位置,它不完整,我想扩展。

情况(a)

  

错误:标识符重复'Rectangle'。 ts(2300)
  index.d.ts(1322, 11):此处也声明了“矩形”。 *

export as namespace Cesium;

declare namespace Cesium {

  class Rectangle {
    static fromCartesianArray(cartesians: Array<Cesium.Cartesian2>, ellipsoid: Cesium.Ellipsoid, result?: Cesium.Rectangle): Cesium.Rectangle;
  }
}

情况(b)

  

错误:命名空间'... Cesium'没有导出的成员'Cartesian2'。 ts(2694)

export namespace Cesium {    
  class Rectangle {
    static fromCartesianArray(cartesians: Array<Cesium.Cartesian2>, ellipsoid: Cesium.Ellipsoid, result?: Cesium.Rectangle): Cesium.Rectangle;
  }
}

1 个答案:

答案 0 :(得分:0)

任何两个元素之间的合并都不起作用this描述了可以合并的内容。

如果要合并一个类以添加更多静态方法,则需要使用类名空间合并:

namespace Cesium {
        export namespace Rectangle {
            function fromCartesianArray(cartesians: Array<Cesium.Cartesian2>, ellipsoid: Cesium.Ellipsoid, result?: Cesium.Rectangle): Cesium.Rectangle;
        }
}