Koajs
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();
}
}
}