Koajs中间件之定义(一)

Koajs中间件之定义(一)
Koajs中间件之next(二)
Koajs中间件之context(三)

Koa 作为一个简单、易学、好用的的 Web 框架,只有区区几百行代码,被人津津乐道的就是其精妙的设计了。一直都在项目中使用Koajs,但其实很少认真的看过其中的源码,中间件作为 Koa 框架的精髓,如果明白了其中的原理基本上对 Koa 有了一半的了解。

什么是 Koa 中间件

Koa 官方并未对中间件有一个具体的定义,尝试给个定义:“在Koa中,中间件是指连贯整个 Koa 应用程序,并共享资源(上下文)的独立插件。”

示例简析
const Koa = require('koa');
const app = new Koa();

const middleware1 = (context, next) => {
    console.log('middleware1 >>>>>');
    next();
    console.log('middleware1 <<<<<');
}
const middleware2 = (context, next) => {
    console.log('middleware2 >>>>>');
    next();
    console.log('middleware2 <<<<<');
}

const middleware3 = (context, next) => {
    console.log('middleware3 >>>>>');
    next();
    console.log('middleware3 <<<<<');
}

app.use(middleware1);
app.use(middleware2);
app.use(middleware3);

app.listen(3000);

输出结果

middleware1 >>>>>
middleware2 >>>>>
middleware3 >>>>>
middleware3 <<<<<
middleware2 <<<<<
middleware1 <<<<<

标准的堆栈(先进后出)模型,Koa 官方称为洋葱模型,也有人称为回形针模型,可以用下面的图来形容

clipboard.png

next、context

上面定义中我们讲过,“在Koa中,中间件是指连贯整个 Koa 应用程序,并共享资源的独立插件”,注意两个词,“连贯”与“共享资源”,与上面的代码一一对应,“连贯”对应“next”,“共享资源对应context”。

参考资料

Mdn 类
Koa 官网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值