跳到主要内容

Koajs

Koa框架使用

Koa框架原理

1.koa是什么

  • Koa是一个基于node实现的一个新的web框架,它是由express的原班人马打造

  • 特点:

    • 语言简洁、优雅、自由度高
    • 他所有的功能都可以通过插件实现

2.中间件和剥洋葱的实现

  • 实现koa的服务器,实际上就是基于node的对服务器应用和端口的监听,原生进行了封装

中间件功能实现

class App {
constructor(){
this.middlewares = [];
}

use (callback){
this.middlewares.push(callback);
}

compose () {
return async ctx => {
let createNext = (middleware, next) => {
return async ctx => {
await middleware(ctx, next);
}
}
let next = () => {
return Promise.resolve();
}
for (var i = this.middlewares.length - 1; i >= 0; i--) {
let middleware = this.middlewares[i];
next = createNext(middleware, next)
}
await next();
}
}
}