我正在尝试从koa-router
调用方法,但出现以下错误;
[ts] 类型的参数(req:请求,res:响应)=> Promise不能分配给IRouterParamContext类型为
'Middleware<ParameterizedContext<any
的参数。
我也尝试了yield,但是没有调用控制器方法。
下面是我的路由器代码;
import * as Router from 'koa-router';
import * as controller from "../controllers/index";
const router = new Router();
router.get("/", controller.index);
export {router};
在控制器中,我试图以一种如下所示的方法呈现index.ejs
;
export let index = async (req: Request, res: Response) => {
res.ctx.render("./index", {page: "Home", menuId: "home"});
};
我在做什么错以及如何解决?
答案 0 :(得分:0)
我比赛有点迟了,但是我很难找到解决方案,所以这里是:
您只需要使用koa的ParameterizedContext
而不是默认值即可。
import * as Koa from "koa";
import Router from "koa-router";
const router = new Router();
router.get("/", (ctx: Koa.ParameterizedContext) => {
return ctx.render('index');
});