首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TypeScript中使用koa视图

在TypeScript中使用koa视图
EN

Stack Overflow用户
提问于 2020-02-04 04:20:32
回答 1查看 1.3K关注 0票数 1

我试图使用koa视图作为我的渲染器,但我一直收到TS的消息:

代码语言:javascript
复制
Property 'render' does not exist on type 'ParameterizedContext<any, IRouterParamContext<any, {}>>'.ts(2339)

我的app.js

代码语言:javascript
复制
import Koa from "Koa";
import views from "koa-views";
import indexRouter from "./routes/index"

const app = new Koa();

app.use(views(`${__dirname}/views`, { autoRender: true, extension: "swig" }));
app.use(indexRouter.routes());

index.js - IndexRouter:

代码语言:javascript
复制
import Router from "koa-router";
const router = new Router();

router.get("/", async (ctx, next) => {
  ctx.render(); // not done yet tho
  await next();
})

export = router;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-04 09:26:40

这是因为参数ctx类型没有方法呈现(),而是在lib @/koa-视图声明模块中(参见https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/koa-views/index.d.ts#L55)。

你可以做这个:

代码语言:javascript
复制
import { Context, DefaultState } from "koa";
import * as Router from "koa-router";

const router = new Router<DefaultState, Context>();

router.get("/", async (ctx: Context, next) => {
    await ctx.render("/path/");
    await next();
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60050536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档