书籍详情

狼书:Node.js Web应用开发(卷2)

狼书:Node.js Web应用开发(卷2)

作者:狼叔 著

出版社:电子工业出版社

出版时间:2020-01-01

ISBN:9787121359064

定价:¥99.00

购买这本书可以去
内容简介
  Node.js开发简单,性能极好,一经发布便成了明星级项目。随着大前端领域的蓬勃发展,跨平台开发、API构建、Web应用开发等场景愈加常见,Node.js也成为大前端开发的必备“神器”。本书主要讲解Node.js Web应用开发涉及的HTTP基础知识、常用开发框架、源码原理、数据库和项目实战,旨在向读者展示如何通过Node.js和Koa编写出更具前端特色的Web应用。本书还讲解了Koa中的核心中间件原理,展望了未来Web应用开发的发展方向。基于Node.js开发Web应用具有上手简单、开发快速、执行高效等特点,非常适合快速迭代,因此各位大前端领域及后端领域的测试、运维、软件开发从业者都可以阅读本书。
作者简介
  狼叔(网名i5ting),Node.js 技术布道者,“Node全栈”微信公众号作者,全栈技术实践者。曾就职于多家知名IT企业,从事前端开发、后端开发、数据分析等工作,目前负责公司内的Node.js开发和基础框架开发工作。
目录
目录

第1章 下一代Web框架Koa 1
1.1 Koa简介 1
1.1.1 应用场景 2
1.1.2 开发要点 3
1.1.3 Koa入门 4
1.1.4 为什么选择Koa 7
1.2 Koa脚手架 8
1.2.1 安装Koa生成器 9
1.2.2 创建Hello world 10
1.2.3 目录解析 11
1.2.4 Koa v2中间件的写法 20
1.2.5 路由 21
1.2.6 切换视图模板引擎 25
1.2.7 Koa代码调试 26
1.3 Node.js Web框架演进 29
1.3.1 Node.js http模块 29
1.3.2 最早的Connect 29
1.3.3 曾经扛鼎的Express框架 33
1.3.4 新兴Web开发框架Koa 35
1.3.5 Express和Koa大比拼 38
1.4 测试 38
1.4.1 Node.js测试框架 39
1.4.2 AVA测试框架 39
1.4.3 测试用例与断言 40
1.4.4 实践 41
1.4.5 更多内容 44
1.5 本章小结 48
第2章 Koa的核心扩展机制:中间件 49
2.1 中间件 49
2.1.1 什么是中间件 49
2.1.2 上下文对象 57
2.1.3 回形针一样的中间件 66
2.1.4 常用中间件 88
2.2 路由 89
2.2.1 koa-router 89
2.2.2 路由详解 93
2.2.3 将路由放到目录里 98
2.3 视图 101
2.3.1 koa-views 101
2.3.2 默认模板引擎Pug 102
2.3.3 views目录模板说明 102
2.3.4 consolidate.js 104
2.4 静态服务模块 104
2.4.1 koa-static 105
2.4.2 koa-send 106
2.4.3 koa-mount 108
2.4.4 koa-serve-static 108
2.5 本章小结 109
第3章 HTTP必知必会 110
3.1 请求响应模型 110
3.1.1 请求 112
3.1.2 响应 112
3.1.3 核心要点 114
3.2 HTTPS 127
3.2.1 生成证书 129
3.2.2 验证与自动续约 130
3.2.3 Node.js服务器HTTPS配置 131
3.2.4 Nginx HTTPS配置 132
3.2.5 Nginx HTTPS反向代理配置 134
3.3 代理 136
3.3.1 协议支持 136
3.3.2 mini-proxy 140
3.3.3 hiproxy 146
3.4 本章小结 152
第4章 Koa练习 153
4.1 基础知识 153
4.1.1 地址 153
4.1.2 HTTP头部 156
4.1.3 HTTP动词 161
4.1.4 HTTP状态码 163
4.1.5 Cookie 164
4.2 获取不同参数的3种方法 165
4.2.1 获取具名参数 166
4.2.2 解析请求体 166
4.2.3 获取查询字符串 167
4.3 body解析 168
4.3.1 模块依赖 168
4.3.2 原理 168
4.3.3 常见的POST 169
4.4 请求的几种方式 175
4.4.1 表单 176
4.4.2 AJAX 176
4.4.3 命令行 177
4.4.4 HTTP模块 178
4.4.5 工具软件 183
4.4.6 测试 183
4.5 API开发 185
4.5.1 API的简单写法 185
4.5.2 响应处理 189
4.5.3 RESTful API 190
4.5.4 API访问鉴权 192
4.5.5 OAuth鉴权 194
4.6 常用中间件 195
4.6.1 会话 196
4.6.2 ETag 198
4.6.3 验证码 199
4.6.4 限制访问频率 201
4.7 本章小结 203
第5章 数据库基础 204
5.1 入门 204
5.1.1 选择哪个数据库 204
5.1.2 了解MVC里的模型 206
5.1.3 模型的代码 207
5.1.4 代码组织结构 209
5.2 MongoDB的安装与部署 210
5.2.1 安装与部署的方式 211
5.2.2 在macOS上安装 212
5.2.3 在Ubuntu上安装 212
5.2.4 在Windows上安装 213
5.2.5 更好的启动方式 213
5.3 Mongoose基础 214
5.3.1 简介 214
5.3.2 入门 215
5.3.3 Hello Mongoose 218
5.3.4 核心概念 221
5.3.5 增删改查操作 223
5.3.6 Schema的类型 232
5.4 Mongoose进阶 234
5.4.1 模型扩展 234
5.4.2 虚拟属性 237
5.4.3 回调钩子 240
5.4.4 插件机制 244
5.5 本章小结 253
第6章 数据库进阶 254
6.1 分页 254
6.1.1 使用skip和limit实现分页 255
6.1.2 使用find和limit实现分页 256
6.1.3 ObjectID的组成 257
6.1.4 客户端生成ObjectID 259
6.2 关联查询 259
6.2.1 聚合函数 260
6.2.2 聚合管道 261
6.2.3 MapReduce 263
6.2.4 关联关系 264
6.2.5 aggregation 266
6.3 事务 270
6.3.1 二阶段提交法 270
6.3.2 回滚操作 273
6.4 性能调优 274
6.4.1 profile 275
6.4.2 explain 275
6.4.3 索引优化 276
6.4.4 MongoDB的连接问题 282
6.4.5 MongooseDao 289
6.4.6 异步流程控制 296
6.5 本章小结 303
第7章 前端视图模板 304
7.1 静态服务器 304
7.1.1 public目录 304
7.1.2 实现原理 306
7.1.3 静态服务 307
7.1.4 预处理中间件 314
7.2 使用模板引擎进行动态渲染 316
7.2.1 模板引擎原理 316
7.2.2 模板引擎规则 324
7.2.3 Vue 333
7.3 Webpack 342
7.3.2 模块规范 344
7.3.3 模块加载器 345
7.3.4 模块打包器 345
7.3.5 Webpack详解 346
7.4 前后端分离 357
7.5 前端渲染 357
7.5.1 客户端渲染 357
7.5.2 服务器端渲染 358
7.5.3 React服务器端渲染 360
7.5.4 Serverless时代的渲染层 363
7.6 本章小结 365
第8章 项目实战 366
8.1 入门 366
8.1.1 Docker 366
8.1.2 Docker Compose 369
8.1.3 环境变量 370
8.1.4 启动服务器 373
8.2 Egg.js框架 373
8.2.1 使用脚手架 374
8.2.2 目录说明 375
8.2.3 启动服务器 379
8.2.4 代码结构 381
8.2.5 内置对象 384
8.2.6 代码调试 386
8.2.7 插件扩展机制 387
8.3 egg-cnode源码 388
8.3.1 目录约定 388
8.3.2 app目录 390
8.3.3 数据库连接 391
8.3.4 模型定义 392
8.3.5 从Controller到Service 393
8.3.6 视图渲染 396
8.3.7 数据模型 399
8.3.8 API开发 400
8.3.9 测试 403
8.3.10 鉴权 404
8.3.11 后台管理 412
8.3.12 参数校验 412
8.4 本章小结 413
猜您喜欢

读书导航