Typescript 和 Koa BaseContext 问题

Typescript and Koa BaseContext Issue

Typescript 抛出请求在 BaseContext 类型中不存在的错误信息。这不可能是因为我之前使用过代码并且它有效。

Property 'request' does not exist on type 'BaseContext'.

import { BaseContext } from 'koa'



export function handle(ctx: BaseContext) {
    ctx.body = ctx.request.body
}

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "esModuleInterop": true,
    "target": "es2017",
    "noImplicitAny": true,
    "moduleResolution": "node",
    "sourceMap": true,
    "outDir": "dist",
    "baseUrl": "."
  },
  "include": ["src/**/*", "env/**/*"]
}

在这里快速浏览一下实际类型:

https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/koa/index.d.ts

看起来 BaseContext 上不存在这些属性。似乎最近对此进行了一些更改。

我可能弄错了,但我认为正确使用的类型是 Context,而不是 BaseContext。这至少对我一直有效。