web-dev-qa-db-fra.com

La propriété «» n'existe pas sur le type «Demande <ParamsDictionary>»

Lorsque j'essaie d'étendre l'interface Request à partir du package express pour ajouter des propriétés personnalisées, j'obtiens l'erreur TypeScript suivante:

TS2339: Property '' does not exist on type 'Request<ParamsDictionary>'.

Savez-vous comment résoudre cela?

2
oktapodia

Depuis une récente mise à jour de ses typages et dépendances, j'ai trouvé que ce qui suit devait corriger les erreurs dans votre application.

Dans votre tsconfig.json

{
  "compilerOptions": {
    //...
    "typeRoots": [
      "./custom_typings",
      "./node_modules/@types"
    ],
  }
// ...
}

Et dans vos saisies personnalisées

// custom_typings/express/index.d.ts
declare namespace Express {
    interface Request {
        customProperties: string[];
    }
}
4
oktapodia