Как получить доступ к интерфейсу из файла TeampScript.d.ts, когда имена модулей конфликтуют?

StackOverflow https://stackoverflow.com//questions/21046461

  •  21-12-2019
  •  | 
  •  

Вопрос

Как я могу получить доступ к I1 из esri.dijit?

module dijit {
    interface i1 {};
}

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

Смотрите Пример игровой площадки .

Это было полезно?

Решение

Две вещи.Сначала вам нужно экспортировать интерфейс для его использования за пределами модуля так:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top