解决Typescript中两个@类型冲突的最佳方法?

解决Typescript中两个@类型冲突的最佳方法?,typescript,Typescript,好吧,想象一下我有一个typescript项目,我有 npm安装--保存dev@types\libA 这个libA声明了一个新类型,让我们调用它 interface Something { market: any; } 那我会的 npm安装--保存dev@types\libB 这决定重新定义一些 interface Something { market: Market } interface Market { // strongly typed definition }

好吧,想象一下我有一个typescript项目,我有

npm安装--保存dev@types\libA

这个libA声明了一个新类型,让我们调用它

interface Something {
    market: any;
}
那我会的

npm安装--保存dev@types\libB

这决定重新定义一些

interface Something {
    market: Market
}
interface Market {
    // strongly typed definition
}
这两个库是我无法控制的,我不是作者。 但在编译过程中,我收到了一条错误消息

错误TS2717:后续属性声明必须具有相同的类型。

问题:

  • 作为libA和libB的消费者,我解决这一冲突的最佳方式是什么
  • 作为一个库作者,如果我希望扩展一个现有的接口,但保持相同的名称,那么最好的方法是什么

  • 谢谢

    您可以通过使用模块或名称空间来避免命名冲突。是否找到问题的解决方案?