Node与Express开发(第2版)
- ISBN:9787115565099
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:266
- 出版时间:2021-06-01
- 条形码:9787115565099 ; 978-7-115-56509-9
本书特色
1、全书代码资源免费赠送并且可以下载 2、美国VMS技术总监倾力打造的高效开发web的Javascript框架指导书 3、借助Express框架打造动态高性能Web应用 4、互联网大厂前端开发同学的**技能书
内容简介
本书系统地讲解了使用Express开发动态Web应用的流程和步骤。作者不仅讲授了开发公共站点及REST API的基础知识,还讲解了构建单页、多页及混合Web应用的规划方式及很好实践。为了适应中间件及相关工具在过去几年里的变化,第2版更侧重于Express作为提供API的后端服务器,并新增了单页应用的示例。 本书适合希望使用JavaScript、Node、Express构建Web应用的开发人员阅读。
目录
第 1 章 Express是什么 1
1.1 JavaScript的革命 1
1.2 Express简介 2
1.3 服务器端应用和客户端应用 4
1.4 Express简史 4
1.5 Node:另一种Web服务器 5
1.6 Node生态系统 6
1.7 开源协议 7
1.8 小结 8
第 2 章 Node的世界 9
2.1 获取Node 9
2.2 使用终端 10
2.3 编辑器 11
2.4 npm 11
2.5 用Node做一个简单的Web服务器 12
2.5.1 Hello world 13
2.5.2 事件驱动编程 14
2.5.3 路由 14
2.5.4 提供静态资源 15
2.6 进入Express 17
第 3 章 Express的方式 18
3.1 脚手架 18
3.2 草地鹨旅游网站 19
3.3 初始工作 19
3.4 视图与布局 22
3.5 静态文件与视图 25
3.6 视图中的动态内容 26
3.7 小结 26
第 4 章 项目整顿 27
4.1 项目文件与目录结构 27
4.2 *佳实践 28
4.3 版本控制 28
4.4 在本书学习中如何使用Git 29
4.4.1 亲手录入 29
4.4.2 使用官方版本库 30
4.5 npm包 31
4.6 项目元数据 32
4.7 Node模块 32
4.8 小结 34
第 5 章 质量保证 35
5.1 QA计划 36
5.2 QA:是否值得 37
5.3 逻辑与表示 38
5.4 测试类型 38
5.5 QA技术 38
5.6 安装和配置Jest 39
5.7 单元测试 40
5.7.1 模拟 40
5.7.2 为可测试性而重构应用 40
5.7.3 写第 一个测试 41
5.7.4 测试维护 43
5.7.5 代码覆盖率 43
5.8 集成测试 44
5.9 Linting 47
5.10 持续集成 50
5.11 小结 51
第 6 章 request和response对象 52
6.1 URL的各个组成部分 52
6.2 HTTP请求方法 53
6.3 请求头 54
6.4 响应头 54
6.5 互联网媒体类型 55
6.6 请求的Body 55
6.7 request对象 55
6.8 response对象 57
6.9 深入源代码 59
6.10 按功能归纳 59
6.10.1 渲染内容 60
6.10.2 处理表单 61
6.10.3 API服务 62
6.11 小结 63
第 7 章 视图模板——使用Handlebars 64
7.1 何时使用模板 65
7.2 选择模板引擎 66
7.3 Pug:另辟蹊径 66
7.4 Handlebars基础 67
7.4.1 注释 69
7.4.2 代码块 69
7.4.3 服务器端模板 70
7.4.4 视图和布局 71
7.4.5 在Express中使用(或不使用)布局 73
7.4.6 sections 73
7.4.7 partial模板 74
7.4.8 完善模板 76
7.5 小结 77
第 8 章 表单处理 78
8.1 把客户端数据发送到服务器 78
8.2 HTML表单 78
8.3 表单的编码 79
8.4 处理表单的不同做法 80
8.5 使用Express处理表单 81
8.6 使用fetch发送表单数据 83
8.7 文件上传 85
8.8 提升文件上传的UI 88
8.9 小结 88
第 9 章 Cookie和Session 89
9.1 提取敏感信息 91
9.2 Express中的Cookie 91
9.3 查看Cookie 93
9.4 Session 93
9.4.1 内存存储 94
9.4.2 使用Session 95
9.5 使用Session实现flash消息 95
9.6 Session的用途 97
9.7 小结 97
第 10 章 中间件 98
10.1 基本原理 99
10.2 中间件示例 99
10.3 常用中间件 102
10.4 第三方中间件 104
10.5 小结 104
第 11 章 发送邮件 105
11.1 SMTP、MSA和MTA 105
11.2 接收邮件 106
11.3 邮件头 106
11.4 邮件格式 106
11.5 HTML邮件 107
11.6 Nodemailer 107
11.6.1 发送邮件 108
11.6.2 发送给多个收件人 109
11.7 群发邮件更好的选择 110
11.8 发送HTML邮件 110
11.8.1 HTML邮件中的图片 111
11.8.2 使用视图来发送HTML邮件 111
11.8.3 封装邮件功能 113
11.9 小结 114
第 12 章 考虑生产环境中的问题 115
12.1 运行环境 115
12.2 特定环境的配置 116
12.3 运行Node进程 117
12.4 网站的扩展 118
12.4.1 使用应用集群实现水平扩展 119
12.4.2 处理未捕获的异常 121
12.4.3 使用多台服务器完成水平扩展 123
12.5 监控网站的运行 123
12.6 压力测试 124
12.7 小结 125
第 13 章 持久化 126
13.1 文件系统持久化 126
13.2 云持久化 128
13.3 数据库持久化 129
13.3.1 关于性能的提醒 129
13.3.2 数据库层抽象 130
13.3.3 设置MongoDB 131
13.3.4 Mongoose 132
13.3.5 使用Mongoose连接数据库 132
13.3.6 创建模式和模型 133
13.3.7 使用种子数据初始化 134
13.3.8 获取数据 136
13.3.9 更新数据 138
13.3.10 PostgreSQL 139
13.3.11 新增数据 145
13.4 使用数据库存储Session 146
13.5 小结 148
第 14 章 路由 149
14.1 路由与SEO 151
14.2 子域名 151
14.3 路由处理函数也是中间件 152
14.4 路由路径和正则表达式 154
14.5 路由参数 154
14.6 组织路由 155
14.7 在模块中声明路由 156
14.8 合乎逻辑地分组路由 157
14.9 自动化渲染视图 158
14.10 小结 159
第 15 章 REST API和JSON 160
15.1 JSON和XML 161
15.2 我们的API 161
15.3 API错误报告 162
15.4 跨域资源共享 163
15.5 测试 164
15.6 使用Express提供API 166
15.7 小结 167
第 16 章 单页应用 168
16.1 Web应用开发简史 168
16.2 SPA技术选择 171
16.3 创建React应用 172
16.4 React基本概念 172
16.4.1 主页 174
16.4.2 路由 176
16.4.3 度假产品页——可视化设计 178
16.4.4 度假产品页——跟服务器端集成 179
16.4.5 向服务器发送信息 181
16.4.6 状态管理 184
16.4.7 部署选择 185
16.5 小结 185
第 17 章 静态内容 187
17.1 性能上的考量 188
17.2 内容分发网络(CDN) 189
17.3 为CDN而设计 189
17.3.1 服务器端渲染的网站 190
17.3.2 单页应用 190
17.4 缓存静态资源 191
17.5 变更静态内容 192
17.6 小结 193
第 18 章 安全 194
18.1 HTTPS 194
18.1.1 生成自己的证书 195
18.1.2 使用免费的证书中心 196
18.1.3 购买证书 196
18.1.4 为Express应用启用HTTPS 198
18.1.5 有关端口的说明 199
18.1.6 HTTPS与代理 200
18.2 跨站请求伪造 201
18.3 认证 202
18.3.1 认证与授权 202
18.3.2 使用密码认证的问题 203
18.3.3 第三方认证 203
18.3.4 在数据库里存储用户信息 204
18.3.5 认证与注册及用户体验 205
18.3.6 Passport 205
18.3.7 基于角色的授权 214
18.3.8 增加认证提供者 215
18.4 小结 216
第 19 章 集成第三方API 217
19.1 社交媒体 217
19.1.1 社交媒体插件与网站性能 217
19.1.2 搜索推文 218
19.1.3 展现推文 221
19.2 地理编码 223
19.2.1 使用谷歌生成地理编码 223
19.2.2 为你的数据做地理编码 225
19.2.3 显示地图 227
19.3 天气数据 228
19.4 小结 230
第 20 章 调试 231
20.1 调试原则第 一条 231
20.2 利用REPL和控制台 232
20.3 使用Node的内建调试器 233
20.4 Node调试客户端 233
20.5 调试异步函数 237
20.6 调试Express 237
20.7 小结 239
第 21 章 上线 240
21.1 域名注册与托管 240
21.1.1 域名系统 241
21.1.2 安全 241
21.1.3 顶级域名 242
21.1.4 子域名 243
21.1.5 域名服务器 243
21.1.6 托管服务 245
21.1.7 部署 247
21.2 小结 250
第 22 章 维护 251
22.1 维护的原则 251
22.1.1 长远规划 251
22.1.2 使用源代码控制 253
22.1.3 使用问题跟踪系统 253
22.1.4 保持良好的“卫生习惯” 253
22.1.5 不要拖延 253
22.1.6 例行QA核查 254
22.1.7 监控分析 254
22.1.8 优化性能 255
22.1.9 优先跟踪潜在客户 255
22.1.10 避免“不可见”的故障 256
22.2 代码重用与重构 257
22.2.1 私有npm仓库 257
22.2.2 中间件 257
22.3 小结 259
第 23 章 更多资源 260
23.1 在线文档 260
23.2 期刊 261
23.3 Stack Overflow 261
23.4 对Express做贡献 263
23.5 小结 265
关于作者 266
关于封面 266
作者简介
伊桑.布朗(Ethan Brown),美国VMS公司技术总监,负责公司旗舰产品的架构和实现。他拥有20多年的编程经验,在Node、Express、JavaScript、React的实践方面拥有独到见解。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0