如何导入模块(别名)whoes名称空间的前缀等于TypeScript中自己的名称空间的后缀?

时间:2015-02-20 13:20:50

标签: typescript

当我编译下面的代码时,tsc编译器输出错误信息。

代码:

module a {
    export class Foo {}
}
module b.a {
    import Foo = a.Foo;
    class Bar {}
}

错误讯息:

sample.ts(5,5): error TS2305: Module 'b.a' has no exported member 'Foo'.

你能告诉我为什么编译错误occer? 如果有任何解决方案? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

模块a(包括子模块a)的上下文中的

b.a指的是模块a。考虑到如何生成模块代码,这是必要的。

您可以在“错误的”a不可见的地方创建别名:

module a {
    export class Foo {}
}

import global_a = a;
module b.a {
    import Foo = global_a.Foo;
    class Bar {}
}