当我编译下面的代码时,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? 如果有任何解决方案? 提前谢谢。
答案 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 {}
}