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中间件之定义(一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Is Parallel Programming Hard, And, If So, What Can You Do About

Is Parallel Programming Hard, And, If So, What Can You Do About

Paul E. McKenney

The purpose of this book is to help you understand how to program shared-memory parallel machines without risking your sanity.1 By describing the algorithms and designs that have worked well in the pa......一起来看看 《Is Parallel Programming Hard, And, If So, What Can You Do About 》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具