J'ai cette structure:de d.ts ne peut pas "voir" déclaration de type
dts/
my-types.d.ts
lib/
a.ts
a.d.ts
b.ts
b.d.ts
a.ts et b.ts les deux font référence à un certain type, permet d'appeler de ce IFoo
. Parce qu'ils partagent IFoo
, je veux mettre cette déclaration dans un emplacement partagé, alors j'ai mis IFoo
dans dts/my-types.d.ts.
ressemble à ceci:
interface IFoo {
[key: string]: any
}
a un sens droit?
Mais le problème est que je bien IFoo
est reconnu dans a.ts, b.ts et c.ts, une fois mes fichiers de déclaration sont créés, dans
a.d.ts
b.d.ts
IFoo
ne peut plus être trouvé dans ces fichiers. Par exemple, dans l'un des fichiers d.ts je:
declare var _default: (depList: string[], depContainerObj: IFoo) => Promise<any>;
export = _default;
et IFoo
ne peut pas être trouvé. Pourquoi donc? Comment puis-je réparer cela?
Voici un indice!
Quand je change ceci:
interface IFoo {
[key: string]: any
}
à ceci:
export interface IFoo {
[key: string]: any
}
maintenant la situation est inversée - mes d.ts fichiers peuvent voir l'interface, mais mon fichier .ts ne peut pas! Que se passe-t-il?
grâce, donc il semble que je devrais bien utiliser le module, et non pas un espace de noms, parce que mon module sera " externe"? –