typescript - 访问“root”模块,与实际子模块同名

时间:2013-12-18 09:20:47

标签: typescript

我在TypeScript中有两个模块:

module superModule {
  export interface myInterface { /*...*/ }
}

module app.superModule {
  var x: superModule.myInterface;
}

请注意,有两个不同的“superModule”模块。一个在root中,第二个作为app模块的子模块。

上面的代码被评估为缺少“myInterface”接口,因为编译器只在app.superModule中搜索。

如何从子模块superModule访问“root”superModule?

TypeScript playground:http://goo.gl/BdOJ1D

1 个答案:

答案 0 :(得分:2)

TypeScript中没有'全局'关键字或等效关键字,但您可以使用import为类型或变量创建别名:

module superModule {
  export interface myInterface { /*...*/ }
}

// Can be placed anywhere where the top definition
// of 'superModule' is visible
import superModule_myInterface = superModule.myInterface;
module app.superModule {
  var x: superModule_myInterface;
}