【发布时间】:2016-08-07 18:07:54
【问题描述】:
这不是一个特定的 koa 问题,即使所有代码都使用 koa,我只是节点和模块系统的新手。
使用 Koa 时,每个请求都由 Request interface 定义:
declare module "koa" {
namespace Koa {
...
export interface Request {
...
}
...
}
...
namespace Koa {}
export = Koa;
}
我正在使用 bodyparser 中间件,所以 Request 有一个名为 body 的属性,但 typescript 不知道这一点,所以我试图通过添加这个定义文件作为参考来添加它:
/// <reference path="globals/koa/index.d.ts" />
/// <reference path="koa.d.ts" />
import koa = require("koa");
...
app.use(ctx => {
console.log(ctx.request.body); // error: Property 'body' does not exist on type 'Request'
});
koa.d.ts 在哪里:
declare module "koa" {
namespace Koa {
export interface Request {
body: any;
}
}
export default Koa;
}
但这可能是错误的方法,因为它不起作用。
怎么办?
谢谢。
【问题讨论】:
标签: node.js typescript koa