书籍详情
Koa开发:入门、进阶与实战
作者:刘江虹 著
出版社:机械工业出版社
出版时间:2022-02-01
ISBN:9787111390862
定价:¥89.00
购买这本书可以去
内容简介
这是一本能指导你零基础掌握Koa完整知识体系并深入理解Node.js难点的著作,将带领你在成为全栈工程师的道路上迈出坚实的一步。本书作者是字节跳动抖音电商团队的前端架构师,曾利用Koa和Node.js等技术从零开发过一款可对标Egg的BFF框架,并在生产环境中能支撑上千个线上服务,在Koa和Node.js方面积累了丰富的经验。这本书以入门、进阶、实战为学习曲线,从基本用法、底层实现、常见场景解决方案、难点和重点等等角度对Koa和Node.js进行了详细的讲解。主要包括如下如下知识点: (1)Koa的基本概念和完整用法,构建完整的Koa知识体系; (2)Koa的源码实现和底层原理分析; (3)Koa在实际业务中遇到的问题及其解决方案; (4)从零搭建一个企业级BFF框架; (5)BFF框架的架构设计、工程建设以及常见业务场景的解决方案; (6)Node.js中比较常见但难以理解的概念和知识点; (7)Node.js底层架构解析。全书有大量实例和代码,能帮助读者在实践中迅速从新人成长为高手。
作者简介
●刘江虹,字节跳动抖音电商前端架构师,拥有多年前端架构工作经验。 独立开发过一款可对标Egg的BFF企业级框架,支撑公司线上服务超过1000个。全栈前端技术专家,具备丰富的Node实战经验。著有畅销书《React.js实战》。
目录
【第一部分 Koa基础】
●第1章 Koa介绍2
1.1 Koa的诞生2
1.2 如何全面掌握Koa3
1.3 环境准备5
1.4 本章小结7
●第2章 Koa入门8
2.1 中间件的使用9
2.2 路由该怎么写11
2.2.1 原生路由实现11
2.2.2 利用koa-router中间件实现12
2.3 静态服务器14
2.3.1 koa-static中间件的使用15
2.3.2 如何实现一个静态服务器16
2.4 模板引擎18
2.4.1 ejs模板的使用18
2.4.2 pug模板的使用20
2.5 处理请求数据21
2.6 Cookie和Session22
2.6.1 你真的了解Cookie吗23
2.6.2 Session的秘密26
2.7 文件上传34
2.8 跨域问题38
2.9 重写URL43
2.10 优雅的错误处理44
2.11 本章小结48
【第二部分 Koa进阶】
●第3章 Koa源码解析50
3.1 Koa目录结构50
3.2 Application都做了些什么52
3.2.1 Koa创建服务的原理52
3.2.2 中间件实现原理55
3.2.3 如何封装ctx60
3.2.4 handleRequest和respond做了什么63
3.2.5 异常处理66
3.3 Context的核心实现68
3.3.1 委托机制68
3.3.2 Cookie的操作73
3.4 request的具体实现75
3.5 response的具体实现82
3.6 本章小结86
●第4章 Koa在业务场景中的应用87
4.1 路由技巧87
4.1.1 路由分割88
4.1.2 文件路由91
4.2 用户鉴权机制94
4.2.1 JWT鉴权94
4.2.2 单点登录101
4.3 数据存储115
4.3.1 数据库的使用115
4.3.2 Elasticsearch的接入122
4.4 进程管理130
4.4.1 进程的概念130
4.4.2 创建多进程130
4.4.3 进程通信134
4.5 日志处理136
4.5.1 log4js牛刀小试136
4.5.2 日志级别137
4.5.3 日志分类139
4.5.4 日志分割141
4.6 本章小结142
【第三部分 Koa实战】
●第5章 搭建一个企业级BFF框架144
5.1 搭建BFF框架的好处144
5.1.1 技术成长145
5.1.2 个人影响力145
5.2 搭建完整框架145
5.2.1 主工程搭建146
5.2.2 框架核心工程147
5.2.3 example工程148
5.2.4 本地开发调试150
5.3 环境区分152
5.3.1 环境配置152
5.3.2 整合配置153
5.4 服务启动模块154
5.4.1 hooks设计154
5.4.2 服务配置157
5.4.3 服务启动模块实现157
5.5 路由模块159
5.5.1 路由模式配置159
5.5.2 文件路由159
5.5.3 koa-router路由162
5.6 静态服务器模块165
5.7 cors模块167
5.7.1 跨域现象167
5.7.2 cors相关配置169
5.7.3 cors核心实现170
5.8 自定义中间件174
5.8.1 中间件加载顺序174
5.8.2 加载自定义中间件175
5.9 登录模块177
5.9.1 鉴权模块实现177
5.9.2 Cookie的配置179
5.10 制定模板180
5.10.1 加载模板180
5.10.2 自定义模板181
5.11 bodyparser模块186
5.12 Redis模块187
5.12.1 Redis配置188
5.12.2 Redis对象挂载188
5.12.3 使用Redis190
5.13 MySQL模块191
5.13.1 数据库配置191
5.13.2 数据库连接192
5.13.3 数据库操作193
5.14 Elasticsearch模块194
5.14.1 连接配置194
5.14.2 挂载194
5.14.3 操作Elasticsearch195
5.15 日志模块196
5.15.1 业务日志有哪些197
5.15.2 日志模块实现197
5.15.3 具体使用场景200
5.16 单元测试203
5.16.1 mocha和chai203
5.16.2 编写测试用例204
5.17 发布npm包206
5.18 本章小结207
【第四部分 Node】
●第6章 Node中的重要概念210
6.1 模块机制210
6.1.1 CommonJS规范211
6.1.2 模块加载原理212
6.2 Node中的I/O213
6.2.1 什么是无阻塞I/O213
6.2.2 无阻塞I/O原理213
6.2.3 事件循环214
6.3 进程与集群215
6.3.1 进程215
6.3.2 集群217
6.4 进程守护219
6.4.1 如何实现进程守护功能219
6.4.2 进程管理工具pm2221
6.5 Buffer和Stream225
6.6 垃圾回收原理227
6.6.1 V8内存结构227
6.6.2 垃圾回收机制229
6.7 本章小结230
●第7章 Node底层解析231
7.1 Node整体架构231
7.2 深入理解Addon233
7.2.1 编译工具node-gyp233
7.2.2 Node插件开发234
7.3 V8如何解析代码237
7.3.1 V8的重要组成模块237
7.3.2 AST是什么238
7.3.3 如何查看字节码和汇编代码239
7.4 libuv架构240
7.5 本章小结242
●第1章 Koa介绍2
1.1 Koa的诞生2
1.2 如何全面掌握Koa3
1.3 环境准备5
1.4 本章小结7
●第2章 Koa入门8
2.1 中间件的使用9
2.2 路由该怎么写11
2.2.1 原生路由实现11
2.2.2 利用koa-router中间件实现12
2.3 静态服务器14
2.3.1 koa-static中间件的使用15
2.3.2 如何实现一个静态服务器16
2.4 模板引擎18
2.4.1 ejs模板的使用18
2.4.2 pug模板的使用20
2.5 处理请求数据21
2.6 Cookie和Session22
2.6.1 你真的了解Cookie吗23
2.6.2 Session的秘密26
2.7 文件上传34
2.8 跨域问题38
2.9 重写URL43
2.10 优雅的错误处理44
2.11 本章小结48
【第二部分 Koa进阶】
●第3章 Koa源码解析50
3.1 Koa目录结构50
3.2 Application都做了些什么52
3.2.1 Koa创建服务的原理52
3.2.2 中间件实现原理55
3.2.3 如何封装ctx60
3.2.4 handleRequest和respond做了什么63
3.2.5 异常处理66
3.3 Context的核心实现68
3.3.1 委托机制68
3.3.2 Cookie的操作73
3.4 request的具体实现75
3.5 response的具体实现82
3.6 本章小结86
●第4章 Koa在业务场景中的应用87
4.1 路由技巧87
4.1.1 路由分割88
4.1.2 文件路由91
4.2 用户鉴权机制94
4.2.1 JWT鉴权94
4.2.2 单点登录101
4.3 数据存储115
4.3.1 数据库的使用115
4.3.2 Elasticsearch的接入122
4.4 进程管理130
4.4.1 进程的概念130
4.4.2 创建多进程130
4.4.3 进程通信134
4.5 日志处理136
4.5.1 log4js牛刀小试136
4.5.2 日志级别137
4.5.3 日志分类139
4.5.4 日志分割141
4.6 本章小结142
【第三部分 Koa实战】
●第5章 搭建一个企业级BFF框架144
5.1 搭建BFF框架的好处144
5.1.1 技术成长145
5.1.2 个人影响力145
5.2 搭建完整框架145
5.2.1 主工程搭建146
5.2.2 框架核心工程147
5.2.3 example工程148
5.2.4 本地开发调试150
5.3 环境区分152
5.3.1 环境配置152
5.3.2 整合配置153
5.4 服务启动模块154
5.4.1 hooks设计154
5.4.2 服务配置157
5.4.3 服务启动模块实现157
5.5 路由模块159
5.5.1 路由模式配置159
5.5.2 文件路由159
5.5.3 koa-router路由162
5.6 静态服务器模块165
5.7 cors模块167
5.7.1 跨域现象167
5.7.2 cors相关配置169
5.7.3 cors核心实现170
5.8 自定义中间件174
5.8.1 中间件加载顺序174
5.8.2 加载自定义中间件175
5.9 登录模块177
5.9.1 鉴权模块实现177
5.9.2 Cookie的配置179
5.10 制定模板180
5.10.1 加载模板180
5.10.2 自定义模板181
5.11 bodyparser模块186
5.12 Redis模块187
5.12.1 Redis配置188
5.12.2 Redis对象挂载188
5.12.3 使用Redis190
5.13 MySQL模块191
5.13.1 数据库配置191
5.13.2 数据库连接192
5.13.3 数据库操作193
5.14 Elasticsearch模块194
5.14.1 连接配置194
5.14.2 挂载194
5.14.3 操作Elasticsearch195
5.15 日志模块196
5.15.1 业务日志有哪些197
5.15.2 日志模块实现197
5.15.3 具体使用场景200
5.16 单元测试203
5.16.1 mocha和chai203
5.16.2 编写测试用例204
5.17 发布npm包206
5.18 本章小结207
【第四部分 Node】
●第6章 Node中的重要概念210
6.1 模块机制210
6.1.1 CommonJS规范211
6.1.2 模块加载原理212
6.2 Node中的I/O213
6.2.1 什么是无阻塞I/O213
6.2.2 无阻塞I/O原理213
6.2.3 事件循环214
6.3 进程与集群215
6.3.1 进程215
6.3.2 集群217
6.4 进程守护219
6.4.1 如何实现进程守护功能219
6.4.2 进程管理工具pm2221
6.5 Buffer和Stream225
6.6 垃圾回收原理227
6.6.1 V8内存结构227
6.6.2 垃圾回收机制229
6.7 本章小结230
●第7章 Node底层解析231
7.1 Node整体架构231
7.2 深入理解Addon233
7.2.1 编译工具node-gyp233
7.2.2 Node插件开发234
7.3 V8如何解析代码237
7.3.1 V8的重要组成模块237
7.3.2 AST是什么238
7.3.3 如何查看字节码和汇编代码239
7.4 libuv架构240
7.5 本章小结242
猜您喜欢