- 关于作者(我)
- 个人博客阅读入口 https://chenshenhai.com/koajs-design-note;
- Github Pages 阅读入口 https://chenshenhai.github.io/koajs-design-note/
- 如有错误或疑问欢迎,提交issues或PR
更多前端技术学习
和开源学习教程
可关注公众号 DeepSeaCode
(大海码
)
之前写过一本 《Koa2进阶学习笔记》 作为Koa的入门教程。很多知识点都是一笔带过,没有深入的讲解。这一本书是通过Koa.js的常用中间件实现原理,举一反三来讲解一些Node.js在Web开发过程中的原理和设计模式。
Koa.js 是一个极其精简的Web框架,只提供一下两种功能:
- HTTP服务
- 处理HTTP请求request
- 处理HTTP响应response
- 中间件容器
- 中间件的加载
- 中间件的执行
剩下的其他Web服务所需的能力,就根据开发者的需求去自定义开发,留下了很大的灵活空间,提高了Web服务的开发成本。在我的理解中,Koa.js的灵活度带来的开发成本有以下两种:
- 框架的设计
- 中间件的选择
框架的设计,这一因素比较复杂,后续会新开一本书讲解。本书主要是解析常用的Koa.js中间件,抽象出相关中间件的功能原理和实现方式,用demo让读者理解原理,减少对官方源码的依赖,尽量达到“授人予渔”。
-
- Koa.js 原理
-
- Koa.js 的AOP设计
-
- Koa.js 中间件
-
- 狭义中间件-请求/响应拦截
-
- 狭义中间件-context代理
-
- 广义中间件-间接中间件处理