【问题标题】:Typescript Declaration Merging - Duplicate identifier打字稿声明合并 - 重复标识符
【发布时间】:2019-11-01 01:57:30
【问题描述】:

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

请注意,index.d.ts 是原始类型 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;
  }
}

【问题讨论】:

    标签: typescript cesium definitelytyped


    【解决方案1】:

    合并在任何两个元素之间不起作用this 描述了可以与什么合并。

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

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

    【讨论】:

      猜你喜欢
      • 2016-09-20
      • 2019-06-02
      • 1970-01-01
      • 2017-08-01
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      • 2017-08-12
      • 2020-09-12
      相关资源
      最近更新 更多