内容简介
作者简介
Ethan Brown
美国俄勒冈州Pop Art公司的高级软件工程师,负责网站及Web服务架构的设计与实现。拥有20多年编程经验,从事过嵌入式开发和Web开发,他相信JavaScript技术栈是未来的Web平台。
本书目录
序XIV前言XV
第1章 初识Express1
1.1 JavaScript革命1
1.2 初识Express2
1.3 Express 简史3
1.4 升级到Express 4.04
1.5 Node:一种新型Web 服务器4
1.6 Node 的生态系统5
1.7 授权6
第2章 从Node开始8
2.1 获取Node8
2.2 使用终端9
2.3 编辑器10
2.4 npm11
2.5 用Node 实现的简单Web服务器12
Hello World12
事件驱动编程13
路由13
静态资源服务14
2.6 走向Express16
第3章 省时省力的Express17
3.1 脚手架17
3.2 草地鹨旅行社网站18
3.3 初始步骤18
视图和布局21
视图和静态文件24
视图中的动态内容24
3.4 小结25
第4章 工欲善其事,必先利其器26
4.1 最佳实践26
4.2 版本控制27
4.3 针对本书如何使用Git27
如果你要自己动手28
如果你要使用官方存储库29
4.4 npm 包29
4.5 项目元数据31
4.6 Node 模块31
第5章 质量保证33
5.1 QA:值得吗34
5.2 逻辑与展示35
5.3 测试的类型35
5.4 QA 技术概览35
5.5 运行你的服务器36
5.6 页面测试36
5.7 跨页测试40
5.8 逻辑测试43
5.9 去毛43
5.10 链接检查44
5.11 用Grunt 实现自动化44
5.12 持续集成46
第6章 请求和响应对象48
6.1 URL 的组成部分48
6.2 HTTP 请求方法49
6.3 请求报头50
6.4 响应报头50
6.5 互联网媒体类型51
6.6 请求体51
6.7 参数51
6.8 请求对象51
6.9 响应对象53
6.10 获取更多信息55
6.11 小结56
内容渲染56
处理表单57
提供一个API58
第7章 Handlebars 模板引擎60
7.1 唯一一条绝对规则61
7.2 选择模板引擎61
7.3 Jade:不走寻常路62
7.4 Handlebars 基础63
注释64
块级表达式64
服务器端模板66
视图和布局67
在Express 中使用或不使用布局69
局部文件69
段落71
完善你的模板72
客户端Handlebars73
7.5 小结75
第8章 表单处理76
8.1 向服务器发送客户端数据76
8.2 HTML 表单76
8.3 编码77
8.4 处理表单的不同方式78
8.5 Express 表单处理79
8.6 处理AJAX 表单81
8.7 文件上传83
8.8 jQuery 文件上传85
第9章 Cookie 与会话88
9.1 凭证的外化89
9.2 Express 中的Cookie90
9.3 检查Cookie91
9.4 会话92
内存存储92
使用会话93
9.5 用会话实现即显消息93
9.6 会话的用途95
第10章 中间件96
10.1 常用中间件100
10.2 第三方中间件102
第11章 发送邮件103
11.1 SMTP、MSA 和MTA103
11.2 接收邮件104
11.3 邮件头104
11.4 邮件格式104
11.5 HTML 邮件105
11.6 Nodemailer105
发送邮件106
将邮件发送给多个接收者107
11.7 发送批量邮件的更佳选择108
11.8 发送HTML 邮件108
HTML 邮件中的图片108
用视图发送HTML 邮件109
封装邮件功能111
11.9 将邮件作为网站监测工具112
第12章 与生产相关的问题113
12.1 执行环境113
12.2 环境特定配置114
12.3 扩展你的网站115
用应用集群扩展116
处理未捕获的异常118
用多台服务器扩展121
12.4 网站监控122
第三方正常运行监控122
应用程序故障122
12.5 压力测试123
第13章 持久化124
13.1 文件系统持久化124
13.2 云持久化126
13.3 数据库持久化126
关于性能127
设置MongoDB127
Mongoose128
使用Mongoose连接数据库128
创建模式和模型129
添加初始数据130
获取数据131
添加数据133
用MongoDB存储会话数据134
第14章 路由137
14.1 路由和SEO139
14.2 子域名139
14.3 路由处理器是中间件140
14.4 路由路径和正则表达式141
14.5 路由参数142
14.6 组织路由143
14.7 在模块中声明路由143
14.8 按逻辑对处理器分组144
14.9 自动化渲染视图145
14.10 其他的路由组织方式146
第15章 REST API 和JSON147
15.1 JSON和XML148
15.2 我们的API148
15.3 API 错误报告149
15.4 跨域资源共享150
15.5 我们的数据存储150
15.6 我们的测试151
15.7 用Express 提供API152
15.8 使用REST 插件153
15.9 使用子域名155
第16章 静态内容157
16.1 性能方面的考虑158
16.2 面向未来的网站158
静态映射159
视图中的静态资源160
CSS 中的静态资源161
16.3 服务器端JavaScript中的静态资源162
16.4 客户端JavaScript中的静态资源163
16.5 提供静态资源164
16.6 修改静态内容165
16.7 打包和缩小165
16.8 关于第三方库170
16.9 QA170
16.10 小结171
第17章 在Express 中实现MVC173
17.1 模型174
17.2 视图模型175
17.3 控制器177
17.4 小结179
第18章 安全180
18.1 HTTPS180
生成自己的证书181
使用免费的证书颁发机构182
购买证书182
对你的Express 应用启用HTTPS184
关于端口的说明185
HTTPS 和代理185
18.2 跨站请求伪造187
18.3 认证187
认证与授权188
密码的问题188
第三方认证188
把用户存在数据库中189
认证与注册和用户体验190
Passport190
基于角色的授权199
添加更多认证提供者200
18.4 小结201
第19章 集成第三方API202
19.1 社交媒体202
社交媒体插件和站点性能202
搜索推文203
渲染推文206
19.2 地理编码209
用谷歌的地理编码209
对你的数据做地理编码210
显示地图213
提升客户端性能215
19.3 天气数据216
19.4 小结217
第20章 调试218
20.1 调试的首要原则218
20.2 利用好REPL 和控制台219
20.3 利用Node 内置的调试器220
20.4 Node 探查器220
20.5 调试异步函数223
20.6 调试Express224
第21章 正式启用226
21.1 域名注册和托管服务226
域名系统227
安全227
顶级域名228
子域名229
域名服务器229
托管230
部署233
21.2 小结236
第22章 维护237
22.1 维护的原则237
有长远规划237
使用源码控制系统239
使用问题追踪系统239
良好的卫生习惯239
不要拖延239
做常规的QA检查240
监测分析240
性能优化240
潜在用户追踪优先241
防止出现“不可见的”错误242
22.2 代码重用及重构243
私有npm库243
中间件244
22.3 小结246
第23章 其他资源247
23.1 在线文档247
23.2 期刊248
23.3 Stack Overflow248
23.4 为Express做贡献250
23.5 小结252
关于封面253
关于作者254
· · · · · ·


