zoukankan      html  css  js  c++  java
  • koa2 中间件的洋葱模型

    使用脚手架koa-generator 创建koa2项目:

    全局安装koa-generator

    npm install -g koa-generator
    

    创建项目:

    koa2 test2
    

    进入test2文件夹
    然后运行npm install

    koa2 与nodejs代码对比

    • koa2封装原生代码的API
    • 规范流程和格式

    洋葱模型
    中间件

    例子

    // 演示 koa2 中间件的洋葱模型
    const Koa = require('koa')
    const app = new Koa()
    
    //logger
    app.use(async (ctx, next) => {
        await next();   // 执行下一个中间件
        const rt = ctx.response.get('X-Response-Time')  // 获取 时间差
        console.log(`${ctx.method} ${ctx.url} - ${rt}`);
    })
    
    // x-response-time
    app.use(async (ctx, next) => {
        const start = Date.now();
        await next(); // 执行下一个中间件
        const ms = Date.now() - start;  // 计算时间差 例如 80
        ctx.set('X-Response-Time', `${ms}ms`); // 记录/设置  时间差
    })
    
    // response
    app.use(async (ctx, next) => {
        ctx.body = 'Hello world';
    })
    
    app.listen(3000);
    console.log('koa2 已经开始监听 3000 端口');
    

    中间件就是一个流程中的各个业务模块,可扩展
    koa2中使用了哪些中间件(app.js)

    持续更新中......

    砥砺前行
  • 相关阅读:
    ES6、ES7、ES8特性
    【react】XXX项目环境搭建
    map
    vector
    list
    米勒素数模板
    POJ-2421-Constructing Roads(最小生成树 普利姆)
    HDU1301 Jungle Roads(Kruskal)
    Truck History(prime)
    phpstorm快捷键和激活
  • 原文地址:https://www.cnblogs.com/lhongsen/p/14718940.html
Copyright © 2011-2022 走看看