J'utilise Moment.js pour gérer des objets datetime dans mon projet TypeScript. Je voudrais définir un type d'objet qui a une clé avec une valeur d'un type Moment
.Comment importer un type externe dans le fichier .d.ts global
Toutefois, lorsque j'ajoute ce qui suit dans un fichier de définition global (test.d.ts
), aucune des interfaces de ce fichier ne se trouve dans le projet.
import { Moment } from 'moment';
interface Test {
date: Moment;
}
Lorsque je tente d'utiliser l'interface dans un .ts
ou .tsx
fichier que je reçois cette erreur dactylographiée:
[at-loader] ./src/<examplefilename>.tsx:91:26
TS2304: Cannot find name 'Test'.
Ni vérification ni TSLint d'erreur dactylographiée de VSCode montrent des problèmes avec le code.
Comment puis-je importer un type à partir d'un module externe pour l'utiliser dans un fichier de définition globale?
Je voudrais vérifier le fichier tsconfig. Dans les options du compilateur - typeroots vous devriez avoir le chemin @types et le chemin de vos dactylographies – kimy82
@ kimy82, je ne pense pas que le problème soit là. Je peux très bien importer le moment tout au long de mon projet mais je suis incapable de l'importer dans les fichiers de définition '.d.ts' de mon projet pour définir un type global dans mon projet qui utilise le type' Moment'. Le reste de mes fichiers '.d.ts' sont trouvés sans configuration et fonctionnent tant que je n'essaie pas d'importer un type externe. – keawade
Le fichier 'd.ts' avec le global est-il également inclus dans votre projet' tsconfig.json'? –