TypeScript Resolve右Namspace失败

时间:2015-06-09 10:36:16

标签: javascript typescript

我遇到的问题是我使用了一些外部库,这些库具有几乎相同的名称空间,如:

declare module Test.Internal.Blubb {
   interface IAnzeige {
      Option: Internal.AnzeigeOptionen.IAnzeigeOptionen;
   }

}

declare module Internal.AnzeigeOptionen {
     interface IAnzeigeOptionen {
        AnzeigeX: number;
        AnzeigeY: number;
     }
}

并且此代码将无法编译,因为它显示错误:

Test.Internal没有导出的成员AnzeigeOptionen

行:

Option: Internal.AnzeigeOptionen.IAnzeigeOptionen;

显示此错误。

有没有办法绕过这个问题?

我正在使用TypeScript 1.4和VS 2013 Update 4

1 个答案:

答案 0 :(得分:0)

代码的问题在于,当编译器看到行Internal.AnzeigeOptionen时,由于命名空间冲突,它会尝试将Internal解析为Test.Internal

您可以在Internal声明之外使用其他名称重新导入Test.Internal模块。

import m = Internal;
declare module Test.Internal.Blubb {
    interface IAnzeige {
        Option: m.AnzeigeOptionen.IAnzeigeOptionen;
    }
}

declare module Internal.AnzeigeOptionen {
    interface IAnzeigeOptionen {
        AnzeigeX: number;
        AnzeigeY: number;
    }
}