Koajs中间件之定义(一)

栏目: Node.js · 发布时间: 7年前

内容简介:Koa 作为一个简单、易学、好用的的 Web 框架,只有区区几百行代码,被人津津乐道的就是其精妙的设计了。一直都在项目中使用Koajs,但其实很少认真的看过其中的源码,中间件作为 Koa 框架的精髓,如果明白了其中的原理基本上对 Koa 有了一半的了解。Koa 官方并未对中间件有一个具体的定义,尝试给个定义:“在Koa中,中间件是指连贯整个 Koa 应用程序,并共享资源(上下文)的独立插件。”输出结果

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 官方称为洋葱模型,也有人称为回形针模型,可以用下面的图来形容

Koajs中间件之定义(一)


以上所述就是小编给大家介绍的《Koajs中间件之定义(一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ggplot2:数据分析与图形艺术

ggplot2:数据分析与图形艺术

哈德利·威克姆 (Hadley Wickham) / 统计之都 / 西安交通大学出版社 / 2013-5-1 / CNY 46.00

中译本序 每当我们看到一个新的软件,第一反应会是:为什么又要发明一个新软件?ggplot2是R世界里相对还比较年轻的一个包,在它之前,官方R已经有自己的基础图形系统(graphics包)和网格图形系统(grid包),并且Deepayan Sarkar也开发了lattice包,看起来R的世界对图形的支持已经足够强大了。那么我们不禁要问,为什么还要发明一套新的系统? 设计理念 打个比......一起来看看 《ggplot2:数据分析与图形艺术》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具