Comment accéder à une interface depuis un fichier typescript.d.ts lorsque les noms de modules sont en conflit ?
-
21-12-2019 - |
Question
Comment puis-je accéder au i1 depuis esri.dijit ?
module dijit {
interface i1 {};
}
module esri {
module dijit {
interface i2 {}
interface i3 extends dijit.i2, dijit.i1 {}
}
}
Voir Exemple d'aire de jeux.
La solution
Deux choses.Vous devez d'abord exporter une interface pour qu'elle soit utilisable en dehors du module donc :
module dijit {
export interface i1 {};
}
Deuxièmement, si vous comptez utiliser le même nom localement, le nom global dijit
va être ombragé.Il faut donc créer un alias :
module dijit {
export interface i1 {};
}
import alias = dijit;
Maintenant votre code complet :
module dijit {
export interface i1 {};
}
import alias = dijit;
module esri {
module dijit {
export interface i2 {}
interface i3 extends dijit.i2, alias.i1 {}
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow