类型“ Request <ParamsDictionary>”上不存在属性“”

时间:2019-11-20 14:54:40

标签: javascript typescript express typescript-typings

当尝试从软件包Request扩展express接口以添加一些自定义属性时,出现以下打字错误:

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

你知道如何解决吗?

2 个答案:

答案 0 :(得分:1)

只需添加以下内容,这就是将简单的自定义属性添加到Express Request接口中

declare global {
  namespace Express {
    interface Request {
      propertyName: string; //or can be anythin
    }
  }
}

答案 1 :(得分:0)

自从typings及其依赖项的最新更新以来,我发现以下内容应可修复应用程序中的错误。

在您的tsconfig.json

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

在您的自定义键入中

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