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 {}
}
}
