美文网首页
TKoa - 使用 TypeScript 重构的 Node.js

TKoa - 使用 TypeScript 重构的 Node.js

作者: billdong | 来源:发表于2019-04-17 14:29 被阅读0次

    tkoa logo

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

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

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

    安装

    TKoa 需要 >= typescript v3.1.0node 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

    相关文章

      网友评论

          本文标题:TKoa - 使用 TypeScript 重构的 Node.js

          本文链接:https://www.haomeiwen.com/subject/sacnwqtx.html