如何在模块名称冲突时从typescript.d.ts文件访问接口?

时间:2014-01-10 14:12:58

标签: dojo typescript amd

如何从esri.dijit中访问i1?

module dijit {
    interface i1 {};
}

module esri {
    module dijit {
        interface i2 {}
        interface i3 extends dijit.i2, dijit.i1 {}
    }
}

请参阅Playground example

1 个答案:

答案 0 :(得分:5)

两件事。首先,您需要导出一个接口,以便在模块外部使用:

module dijit {
    export interface i1 {};
}

其次,如果您要在本地使用相同的名称,则全局名称dijit将被遮蔽。所以你需要创建一个别名:

module dijit {
    export interface i1 {};
}
import alias = dijit;

现在您的完整代码:

module dijit {
    export interface i1 {};
}
import alias = dijit;

module esri {   
    module dijit {
        export interface i2 {}
        interface i3 extends dijit.i2, alias.i1 {}
    }
}