TKoa基于 TypeScript 的 Node.js koa框架

联合创作 · 2023-09-20 03:42

tkoa logo


Tkoa是使用 typescript 编写的 koa 框架! typescript logo


尽管它是基于 typescript 编写,但是你依然还是可以使用一些 node.js 框架和基于 koa 的中间件。


不仅如此,你还可以享受 typescript 的类型检查系统和方便地使用 typescript 进行测试!


安装


TKoa 需要 >= typescript v3.1.0 和 node v7.6.0 版本。


$ npm install tkoa

Hello T-koa


import tKoa = require('tkoa');

interface ctx {
res: {
end: Function
}
}

const app = new tKoa();

// response
app.use((ctx: ctx) => {
ctx.res.end('Hello T-koa!');
});

app.listen(3000);

Middleware


Tkoa 是一个中间件框架,拥有两种中间件:



  • 异步中间件

  • 普通中间件


下面是一个日志记录中间件示例,其中使用了不同的中间件类型:


async functions (node v7.6+):


interface ctx {
method: string,
url: string
}

app.use(async (ctx: ctx, next: Function) => {
const start = Date.now();
await next();
const ms = Date.now() - start;
console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
});

Common function


// Middleware normally takes two parameters (ctx, next), ctx is the context for one request,
// next is a function that is invoked to execute the downstream middleware. It returns a Promise with a then function for running code after completion.

interface ctx {
method: string,
url: string
}

app.use((ctx: ctx, next: Function) => {
const start = Date.now();
return next().then(() => {
const ms = Date.now() - start;
console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
});
});

Getting started



Support


TypeScript



  • 大于等于 v3.1 版本


Node.js



  • 大于等于 v7.6.0 版本


License


MIT

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报