Búsqueda de sitios web

dojo - ¿Cómo acceder a una interfaz desde un archivo typescript.d.ts cuando los nombres de los módulos entran en conflicto?


¿Cómo puedo acceder al i1 desde dentro de esri.dijit?

module dijit {
    interface i1 {};
}

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

Vea el ejemplo del Playground.

Respuesta #1

Dos cosas. Primero, necesitas exportar una interfaz para que sea usable fuera del módulo, así que:

module dijit {
    export interface i1 {};
}

En segundo lugar, si vas a usar el mismo nombre localmente, el nombre global dijit será eclipsado. Por lo tanto, necesitas crear un alias:

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

Ahora tu código completo:

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

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