《Koa.js 设计模式-学习笔记》Koa.js第二本开源电子书完结

Posted 大海码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Koa.js 设计模式-学习笔记》Koa.js第二本开源电子书完结相关的知识,希望对你有一定的参考价值。

Koa.js 设计模式-学习笔记

    之前写过一本《Koa2进阶学习笔记》作为Koa的入门教程。很多知识点都是一笔带过,没有深入的讲解。这一本书是通过Koa.js的常用中间件实现原理,举一反三来讲解一些Node.js在Web开发过程中的原理和设计模式。

关于本书

  • 关于作者(我) 

    • 个人博客:https://chenshenhai.github.io/

    • 个人GitHub:https://github.com/chenshenhai

  • gitbook在线阅读入口 

    • https://chenshenhai.github.io/koajs-design-note/

  • 如有错误或疑问欢迎,提交issues或PR


前言

Koa.js 是一个极其精简的Web框架,只提供一下两种功能:

  • HTTP服务

    • 处理HTTP请求request

    • 处理HTTP响应response

  • 中间件容器

    • 中间件的加载

    • 中间件的执行

剩下的其他Web服务所需的能力,就根据开发者的需求去自定义开发,留下了很大的灵活空间,提高了Web服务的开发成本。在我的理解中,Koa.js的灵活度带来的开发成本有以下两种:

  • 框架的设计

  • 中间件的选择

框架的设计,这一因素比较复杂,后续会新开一本书讲解。本书主要是解析常用的Koa.js中间件,抽象出相关中间件的功能原理和实现方式,用demo让读者理解原理,减少对官方源码的依赖,尽量达到“授人予渔”。

目录

  • 1. Koa.js 原理

    • 1.1 学习准备

    • 1.2 Promise 使用

    • 1.3 async/await 使用

    • 1.4 Node.js原生http模块

    • 1.5 中间件引擎

    • 1.6 普通中间件式HTTP服务实现

    • 1.7 最简Koa.js实现

  • 2. Koa.js 的AOP设计

    • 2.1 AOP面向切面编程

    • 2.2 洋葱模型切面

    • 2.3 HTTP切面流程

  • 3. Koa.js 中间件

    • 3.1 中间件分类

    • 3.2 狭义中间件

    • 3.3 广义中间件

  • 4. 狭义中间件-请求/响应拦截

    • 4.1 koa-logger 实现

    • 4.2 koa-send 实现

    • 4.3 koa-static 实现

  • 5. 狭义中间件-context代理

    • 5.1 koa-view 实现

    • 5.2 koa-jsonp 实现

    • 5.3 koa-bodyparser 实现

  • 6. 广义中间件-间接中间件处理

    • 6.1 koa-router 实现

    • 6.2 koa-mount 实现


更多关于本开源书的内容欢迎去 

https://github.com/chenshenhai/koajs-design-note

阅读

以上是关于《Koa.js 设计模式-学习笔记》Koa.js第二本开源电子书完结的主要内容,如果未能解决你的问题,请参考以下文章

《Koa2进阶学习笔记》完结

Koa.js笔记

手写Koa.js源码

koa入坑及其中间件原理

sau交流学习社区--songEagle开发系列:Vue.js + Koa.js项目中使用JWT认证

基于 Koa平台Node.js开发的KoaHub.js连接打印机的代码