Cette réponse sera bénéfique pour ceux qui comptent sur le package npm ts-node.
Je luttais également avec le même souci d'étendre l' objet de requête , j'ai suivi beaucoup de réponses dans le stack-overflow et j'ai fini par suivre la stratégie mentionnée ci-dessous.
J'ai déclaré la saisie étendue pour express dans le répertoire suivant.${PROJECT_ROOT}/api/@types/express/index.d.ts
declare namespace Express {
interface Request {
decoded?: any;
}
}
puis mettre tsconfig.jsonà jour mon à quelque chose comme ça.
{
"compilerOptions": {
"typeRoots": ["api/@types", "node_modules/@types"]
...
}
}
même après avoir effectué les étapes ci-dessus, le studio visuel a cessé de se plaindre, mais malheureusement, le ts-nodecompilateur avait encore l'habitude de lancer.
Property 'decoded' does not exist on type 'Request'.
Apparemment, le ts-noden'a pas pu localiser les définitions de type étendues pour l' objet de requête .
Finalement, après avoir passé des heures, car je savais que le code VS ne se plaignait pas et était capable de localiser les définitions de frappe, ce qui implique que quelque chose ne va pas avec le ts-nodecomplier.
Mise à jour de départ scripten package.jsonfixe pour moi.
"start": "ts-node --files api/index.ts",
les --filesarguments jouent ici un rôle clé pour déterminer les définitions de type personnalisées.
Pour plus d'informations, veuillez visiter: https://github.com/TypeStrong/ts-node#help-my-types-are-missing