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)

    持续更新中......

    砥砺前行
  • 相关阅读:
    插入排序
    选择排序
    P1338 末日的传说 逆序数对
    P1582倒水 位运算
    P2158 [SDOI2008] (欧拉函数
    HDU 6274 二分+预处理(CCPC K题
    P1219 N皇后
    [USACO1.5] 回文质数
    Codeforces #123D: 后缀数组+单调栈
    单调栈 单调队列
  • 原文地址:https://www.cnblogs.com/lhongsen/p/14718940.html
Copyright © 2011-2022 走看看