书籍详情

Koa与Node.js开发实战

Koa与Node.js开发实战

作者:iKcamp 著

出版社:电子工业出版社

出版时间:2018-12-01

ISBN:9787121355134

定价:¥79.00

购买这本书可以去
内容简介
  Node.js 10已经进入LTS时代!其应用场景已经从脚手架、辅助前端开发(如SSR、PWA等)扩展到API中间层、代理层及专业的后端开发。Node.js在企业Web开发领域也日渐成熟,无论是在API中间层,还是在微服务中都得到了非常好的落地。本书将通过Web开发框架Koa2,引领你进入Node.js的主战场!本书系统讲解了在实战项目中使用Koa框架开发Web应用的流程和步骤。第1章介绍Node.js的安装、开发工具及调试。第2章和第3章介绍搭建Koa实战项目的雏形。第4章详细介绍HTTP基础知识及其实战应用。第5章介绍MVC、模板引擎和文件上传等实用功能。第6~8章介绍数据库、单元测试及项目的优化与部署。第9~13章介绍从零开始搭建时下火爆的微信小程序前端及后台管理应用的全部过程,以及最终的服务器部署,包括HTTPS、Nginx。本书示例丰富、侧重实战,以完整的实战项目贯穿全部章节,并提供书中涉及的所有源码及部分章节的配套视频教程,将是前端开发人员立足新领域和后端开发人员了解Node.js并使用Koa2开发Web应用的得力助手。
作者简介
  iKcamp由热爱原创和翻译的小伙伴发起,成立于2016年7月。名字中的“iK”代表布兰登·艾克(JavaScript之父)。追随着JavaScript这门语言所秉持的精神,崇尚自由和开放的我们一起工作、分享、创作,并期待着遇见更多有趣的灵魂。iKcamp已出版的图书《移动Web前端高效开发实战:HTML 5 CSS 3 JavaScript Webpack React Native Vue.js Node.js》曾广受好评。陈达孚:硕士研究生毕业于香港中文大学,《前端开发者指南(2017)》译者之一,在中国前端开发者大会、中生代技术大会等会议上发表过主题演讲。金晶:非典型程序员一名,硕士研究生毕业于利兹大学,曾主导翻译《前端开发者指南(2017)》,专注领域为前端动效(包括但不限于CSS 3、SVG、WebGL)。干?B:沪江教育金融事业部前端负责人,具有多年一线互联网公司前端开发经验。张利涛:沪江教育资深前端开发工程师,iKcamp.com线上课程—— 微信小程序和Node.js主编。戴亮:美团点评资深前端架构师,在GMTC(全球大前端技术大会)上发表过主题演讲。周遥:《HTML 5网页开发实例详解》作者之一,iKcamp团队发起人之一。
目录
第1篇 基础知识
第1章 Node.js入门 2
1.1 Node.js介绍 2
1.1.1 什么是Node.js 3
1.1.2 Node.js的历史和发展过程 4
1.1.3 Node.js的特点和应用场景 7
1.1.4 安装Node.js 8
1.1.5 实战演练:使用Node.js搭建一个HTTP Server 10
1.2 NPM 11
1.2.1 NPM介绍 12
1.2.2 NPM模块结构 13
1.2.3 使用NVM控制Node.js版本 16
1.2.4 Web代理工具NProxy 18
1.2.5 实战演练:在npm.org上发布一个模块 20
1.3 Visual Studio Code编辑器 22
1.3.1 Visual Studio Code的安装及其功能 22
1.3.2 使用Visual Studio Code调试Node.js 23
1.4 本章小结 25
第2章 遇见Koa 26
2.1 Koa介绍 26
2.1.1 Koa的前世今生 26
2.1.2 Koa的安装及搭建(视频演示) 29
2.2 Context对象 30
2.2.1 什么是Context对象 31
2.2.2 常用属性和方法 31
2.3 Koa的中间件 35
2.3.1 中间件概念 35
2.3.2 实战演练:使用中间件获取响应时间(视频演示) 38
2.3.3 常用Koa中间件介绍 39
2.4 本章小结 43
第3章 路由 44
3.1 路由介绍 44
3.1.1 路由的概念 45
3.1.2 实战演练:使用Koa中的简单路由自定义404页面 46
3.2 koa-router路由中间件 48
3.2.1 koa-router的安装和介绍 48
3.2.2 RESTful规范 48
3.2.3 koa-router用法(视频演示) 50
3.2.4 通过koa-router实现接口的权限控制 55
3.3 本章小结 58
第4章 HTTP 59
4.1 HTTP介绍 59
4.1.1 HTTP的诞生 59
4.1.2 URI和URL 62
4.1.3 常用的HTTP状态码 63
4.1.4 常用的请求方法 63
4.1.5 常用的HTTP首部字段 64
4.2 HTTP/2 65
4.2.1 采用二进制格式传输数据 65
4.2.2 多路复用 65
4.2.3 流的优先级 66
4.2.4 首部压缩 66
4.2.5 服务端推送 67
4.3 Node.js的querystring模块 67
4.3.1 querystring模块的使用 67
4.3.2 koa-router中的querystring(视频演示) 68
4.3.3 实战演练:电影搜索列表 69
4.4 koa-bodyparser中间件 72
4.4.1 koa-bodyparser介绍 72
4.4.2 koa-bodyparser的使用(视频演示) 73
4.4.3 实战演练:实现用户注册功能并进行数据解析 74
4.5 本章小结 77
第2篇 应用实战
第5章 构建Koa Web应用 80
5.1 MVC 80
5.1.1 MVC的发展历程 81
5.1.2 MVC三层架构 81
5.1.3 在Koa中实现MVC(视频演示) 83
5.2 模板引擎 87
5.2.1 什么是模板引擎 88
5.2.2 常见的模板引擎有哪些 88
5.2.3 Nunjucks语法介绍 91
5.2.4 Nunjucks在Koa中的应用(视频演示) 96
5.3 静态资源 97
5.3.1 静态资源的类型 98
5.3.2 koa-static简介 99
5.3.3 koa-static常用配置(视频演示) 99
5.3.4 实战演练:开发登录验证页面(视频演示) 100
5.4 其他常用开发技巧 103
5.4.1 简易版koa-json插件开发(视频演示) 103
5.4.2 使用koa-multer中间件实现文件上传 106
5.5 本章小结 110
第6章 数据库 111
6.1 数据库介绍 111
6.1.1 什么是数据库 111
6.1.2 常见的数据库 113
6.2 在Koa中应用MySQL数据库 114
6.2.1 下载安装MySQL 114
6.2.2 Sequelize介绍 118
6.2.3 实战演练:客户信息数据展现 122
6.3 在Koa中应用MongoDB数据库 126
6.3.1 下载安装MongoDB 126
6.3.2 Mongoose介绍 128
6.3.3 实战演练:课程表数据展现 132
6.4 在Koa中应用Redis数据库 135
6.4.1 什么是Redis 135
6.4.2 Redis库介绍 138
6.4.3 实战演练:持久化用户Session状态 141
6.5 本章小结 145
第7章 单元测试 146
7.1 Chai断言库 147
7.1.1 Chai的介绍和安装 147
7.1.2 Chai的使用 147
7.2 Mocha框架 149
7.2.1 Mocha的介绍和安装 150
7.2.2 Mocha的使用 150
7.3 SuperTest测试RESTful API 154
7.3.1 SuperTest的介绍和安装 154
7.3.2 SuperTest的使用 154
7.4 其他常用工具 155
7.4.1 Nock模拟服务器响应 156
7.4.2 Nyc测试覆盖率 157
7.5 本章小结 159
第8章 优化与部署 161
8.1 服务优化 161
8.1.1 使用log4js记录日志(视频演示) 162
8.1.2 自定义错误页(视频演示) 168
8.1.3 异常捕获处理 173
8.1.4 实战演练:优化Web开发项目结构(视频演示) 176
8.2 部署 179
8.2.1 Node.js进程管理器PM2 179
8.2.2 应用容器引擎Docker 182
8.2.3 在线免费开源集成Travis CI 185
8.2.4 利用Nginx部署HTTPS 189
8.3 服务监控 192
8.3.1 Node.js服务性能指标及采集 192
8.3.2 日志分析系统ELK 196
8.3.3 Keymetrics监控云服务 197
8.4 本章小结 199
第3篇 项目实战:从零开始搭建微信小程序后台
第9章 云相册功能介绍和准备工作 203
9.1 应用介绍 204
9.2 小程序开发账户申请 206
9.3 准备域名 209
9.3.1 注册域名 209
9.3.2 实名认证 211
9.3.3 域名备案 212
9.4 准备云服务器 216
9.5 配置DNS解析 218
9.6 本章小结 221
第10章 云相册服务开发 222
10.1 小程序登录 222
10.2 扫码登录 230
10.3 小程序接口 236
10.3.1 建立数据模型 236
10.3.2 定义相册接口 238
10.3.3 定义照片接口 242
10.4 后台管理系统接口 244
10.4.1 定义用户列表接口 244
10.4.2 定义权限管理接口 246
10.4.3 定义获取照片接口 247
10.4.4 定义审核照片接口 249
10.5 记录日志 249
10.6 本章小结 252
第11章 云相册小程序开发 254
11.1 项目介绍 254
11.2 结合Redux实现小程序组件通信 259
11.3 “个人中心”页面 264
11.4 “新建相册”页面 267
11.4.1 自定义组件用法介绍 267
11.4.2 组件事件 269
11.4.3 实现“新建相册”组件 270
11.5 “相册列表”页面 272
11.5.1 展示相册列表 273
11.5.2 进入指定相册页面 274
11.5.3 调用“新建相册”组件 274
11.6 “照片列表”页面 275
11.6.1 获取照片列表数据 276
11.6.2 数据按日期分组 277
11.6.3 上传照片到当前相册 278
11.6.4 单击图片显示高清大图 279
11.7 小程序审核发布 280
11.8 本章小结 282
第12章 云相册后台管理系统 283
12.1 整体架构 284
12.1.1 基本文件结构 285
12.1.2 前端模板结构 287
12.1.3 路由设计 290
12.2 相册列表及相关功能 292
12.2.1 分类展示照片 293
12.2.2 审核照片 297
12.2.3 HTTP通信 301
12.2.4 分页控件 302
12.3 用户列表及相关功能 304
12.4 登录与鉴权 309
12.4.1 登录 310
12.4.2 鉴权中间件 315
12.5 额外展开:SVG动画效果及其他 317
12.6 本章小结 318
第13章 云相册服务器部署 319
13.1 部署数据库 321
13.1.1 存储设置 322
13.1.2 安全策略 323
13.2 部署Nginx 325
13.2.1 安装OpenResty 325
13.2.2 Nginx配置 326
13.2.3 插件扩展 328
13.3 部署HTTPS 329
13.3.1 强制HTTPS跳转 329
13.3.2 添加WWW跳转 330
13.4 配置Koa服务 331
13.5 本章小结 332
猜您喜欢

读书导航