TKoa基于 TypeScript 的 Node.js koa框架
Tkoa是使用 typescript 编写的 koa 框架!
尽管它是基于 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
评论
Egg.js基于 Koa 的企业级 Node.js 框架
Egg.js,为企业级框架和应用而生,是阿里开源的企业级Node.js框架。设计原则企业级应用在追求规范和共建的同时,还需要考虑如何平衡不同团队之间的差异,求同存异。阿里没有选择社区常见框架的大集市模
Egg.js基于 Koa 的企业级 Node.js 框架
0
Egg.js基于 Koa 的企业级 Node.js 框架
Egg.js,为企业级框架和应用而生,是阿里开源的企业级 Node.js 框架。设计原则企业级应用在
Egg.js基于 Koa 的企业级 Node.js 框架
0
kost基于Koa,使用Typescript开发的Web框架
KostKost 基于 Koa,使用 Typescript 编写,借鉴于 egg 的约定大于配置的思
kost基于Koa,使用Typescript开发的Web框架
0
kost基于Koa,使用Typescript开发的Web框架
KostKost基于Koa,使用Typescript编写,借鉴于egg的约定大于配置的思想以及nest的依赖注入和装饰器路由。是一款内置多个功能,并遵循一系列规范的Web框架特性依赖注入使用Types
kost基于Koa,使用Typescript开发的Web框架
0
koa-hwtm基于 koa 的 MVC 框架
koa-hwtm是基于koa构建的mvc框架(http-websocket-tcp-mongodb),包括http,websocket,tcp,mongodb服务模块,目前可用于生产环境,以后会继续维
koa-hwtm基于 koa 的 MVC 框架
0
LittleBlog基于 Node.js—Express 框架的博客
这是一个基于 Node.js——Express 框架的个人博客。支持解析 MarkDown 并生成静
LittleBlog基于 Node.js—Express 框架的博客
0