2013-12-18 23 views
2

我在打字稿两个模块:打字稿 - 获得“根”模块相同的名称,实际子模块

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

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

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

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

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

打字稿游乐场:http://goo.gl/BdOJ1D

回答

2

有在打字稿没有“全局”的关键字或等效的,但你可以使用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; 
}