Node与Express开发(第2版)
Ethan Brown
吴滠栩 译
出版时间:2021年06月
页数:266
Express是Node/JavaScript技术栈的一个关键组件,可用于高效构建动态Web应用。正所谓“少即是多”,Express以极简的框架赋予Web应用高性能、灵活、健壮等优点。
本书将带你体验构建Web应用的每一步,并在此过程中阐释Express的诸多概念和原理。第2版着重展示Express在构建单页应 用方面的潜力,以及近几年来Express中间件和相关工具的发展变化。快快拿起本书,一起探索Web开发的新思路吧!
● 为渲染动态数据创建模板系统
● 深入探究request和response对象、中间件以及URL路由
● 为测试模拟生产环境
● 数据持久化,涉及MongoDB和PostgreSQL
● 开放API,让其他程序可以访问你的资源
● 构建包含认证、授权并支持HTTPS的安全应用
● 集成社交媒体、地理位置及其他功能
● 实现应用的启动和维护计划
● 学习重要的调试技能
  1. 前言
  2. 第1章 Express是什么
  3. 1.1 JavaScript的革命
  4. 1.2 Express简介
  5. 1.3 服务器端应用和客户端应用
  6. 1.4 Express简史
  7. 1.5 Node:另一种Web服务器
  8. 1.6 Node生态系统
  9. 1.7 开源协议
  10. 1.8 小结
  11. 第2章 Node的世界
  12. 2.1 获取Node
  13. 2.2 使用终端
  14. 2.3 编辑器
  15. 2.4 npm
  16. 2.5 用Node做一个简单的Web服务器
  17. 2.5.1 Hello world
  18. 2.5.2 事件驱动编程
  19. 2.5.3 路由
  20. 2.5.4 提供静态资源
  21. 2.6 进入Express
  22. 第3章 Express的方式
  23. 3.1 脚手架
  24. 3.2 草地鹨旅游网站
  25. 3.3 初始工作
  26. 3.4 视图与布局
  27. 3.5 静态文件与视图
  28. 3.6 视图中的动态内容
  29. 3.7 小结
  30. 第4章 项目整顿
  31. 4.1 项目文件与目录结构
  32. 4.2 最佳实践
  33. 4.3 版本控制
  34. 4.4 在本书学习中如何使用Git
  35. 4.4.1 亲手录入
  36. 4.4.2 使用官方版本库
  37. 4.5 npm包
  38. 4.6 项目元数据
  39. 4.7 Node模块
  40. 4.8 小结
  41. 第5章 质量保证
  42. 5.1 QA计划
  43. 5.2 QA:是否值得
  44. 5.3 逻辑与表示
  45. 5.4 测试类型
  46. 5.5 QA技术
  47. 5.6 安装和配置Jest
  48. 5.7 单元测试
  49. 5.7.1 模拟
  50. 5.7.2 为可测试性而重构应用
  51. 5.7.3 写第一个测试
  52. 5.7.4 测试维护
  53. 5.7.5 代码覆盖率
  54. 5.8 集成测试
  55. 5.9 Linting
  56. 5.10 持续集成
  57. 5.11 小结
  58. 第6章 request和response对象
  59. 6.1 URL的各个组成部分
  60. 6.2 HTTP请求方法
  61. 6.3 请求头
  62. 6.4 响应头
  63. 6.5 互联网媒体类型
  64. 6.6 请求的Body
  65. 6.7 request对象
  66. 6.8 response对象
  67. 6.9 深入源代码
  68. 6.10 按功能归纳
  69. 6.10.1 渲染内容
  70. 6.10.2 处理表单
  71. 6.10.3 API服务
  72. 6.11 小结
  73. 第7章 视图模板——使用Handlebars
  74. 7.1 何时使用模板
  75. 7.2 选择模板引擎
  76. 7.3 Pug:另辟蹊径
  77. 7.4 Handlebars基础
  78. 7.4.1 注释
  79. 7.4.2 代码块
  80. 7.4.3 服务器端模板
  81. 7.4.4 视图和布局
  82. 7.4.5 在Express中使用(或不使用)布局
  83. 7.4.6 sections
  84. 7.4.7 partial模板
  85. 7.4.8 完善模板
  86. 7.5 小结
  87. 第8章 表单处理
  88. 8.1 把客户端数据发送到服务器
  89. 8.2 HTML表单
  90. 8.3 表单的编码
  91. 8.4 处理表单的不同做法
  92. 8.5 使用Express处理表单
  93. 8.6 使用fetch发送表单数据
  94. 8.7 文件上传
  95. 8.8 提升文件上传的UI
  96. 8.9 小结
  97. 第9章 Cookie和Session
  98. 9.1 提取敏感信息
  99. 9.2 Express中的Cookie
  100. 9.3 查看Cookie
  101. 9.4 Session
  102. 9.4.1 内存存储
  103. 9.4.2 使用Session
  104. 9.5 使用Session实现flash消息
  105. 9.6 Session的用途
  106. 9.7 小结
  107. 第10章 中间件
  108. 10.1 基本原理
  109. 10.2 中间件示例
  110. 10.3 常用中间件
  111. 10.4 第三方中间件
  112. 10.5 小结
  113. 第11章 发送邮件
  114. 11.1 SMTP、MSA和MTA
  115. 11.2 接收邮件
  116. 11.3 邮件头
  117. 11.4 邮件格式
  118. 11.5 HTML邮件
  119. 11.6 Nodemailer
  120. 11.6.1 发送邮件
  121. 11.6.2 发送给多个收件人
  122. 11.7 群发邮件更好的选择
  123. 11.8 发送HTML邮件
  124. 11.8.1 HTML邮件中的图片
  125. 11.8.2 使用视图来发送HTML邮件
  126. 11.8.3 封装邮件功能
  127. 11.9 小结
  128. 第12章 考虑生产环境中的问题
  129. 12.1 运行环境
  130. 12.2 特定环境的配置
  131. 12.3 运行Node进程
  132. 12.4 网站的扩展
  133. 12.4.1 使用应用集群实现水平扩展
  134. 12.4.2 处理未捕获的异常
  135. 12.4.3 使用多台服务器完成水平扩展
  136. 12.5 监控网站的运行
  137. 12.6 压力测试
  138. 12.7 小结
  139. 第13章 持久化
  140. 13.1 文件系统持久化
  141. 13.2 云持久化
  142. 13.3 数据库持久化
  143. 13.3.1 关于性能的提醒
  144. 13.3.2 数据库层抽象
  145. 13.3.3 设置MongoDB
  146. 13.3.4 Mongoose
  147. 13.3.5 使用Mongoose连接数据库
  148. 13.3.6 创建模式和模型
  149. 13.3.7 使用种子数据初始化
  150. 13.3.8 获取数据
  151. 13.3.9 更新数据
  152. 13.3.10 PostgreSQL
  153. 13.3.11 新增数据
  154. 13.4 使用数据库存储Session
  155. 13.5 小结
  156. 第14章 路由
  157. 14.1 路由与SEO
  158. 14.2 子域名
  159. 14.3 路由处理函数也是中间件
  160. 14.4 路由路径和正则表达式
  161. 14.5 路由参数
  162. 14.6 组织路由
  163. 14.7 在模块中声明路由
  164. 14.8 合乎逻辑地分组路由
  165. 14.9 自动化渲染视图
  166. 14.10 小结
  167. 第15章 REST API和JSON
  168. 15.1 JSON和XML
  169. 15.2 我们的API
  170. 15.3 API错误报告
  171. 15.4 跨域资源共享
  172. 15.5 测试
  173. 15.6 使用Express提供API
  174. 15.7 小结
  175. 第16章 单页应用
  176. 16.1 Web应用开发简史
  177. 16.2 SPA技术选择
  178. 16.3 创建React应用
  179. 16.4 React基本概念
  180. 16.4.1 主页
  181. 16.4.2 路由
  182. 16.4.3 度假产品页——可视化设计
  183. 16.4.4 度假产品页——跟服务器端集成
  184. 16.4.5 向服务器发送信息
  185. 16.4.6 状态管理
  186. 16.4.7 部署选择
  187. 16.5 小结
  188. 第17章 静态内容
  189. 17.1 性能上的考量
  190. 17.2 内容分发网络(CDN)
  191. 17.3 为CDN而设计
  192. 17.3.1 服务器端渲染的网站
  193. 17.3.2 单页应用
  194. 17.4 缓存静态资源
  195. 17.5 变更静态内容
  196. 17.6 小结
  197. 第18章 安全
  198. 18.1 HTTPS
  199. 18.1.1 生成自己的证书
  200. 18.1.2 使用免费的证书中心
  201. 18.1.3 购买证书
  202. 18.1.4 为Express应用启用HTTPS
  203. 18.1.5 有关端口的说明
  204. 18.1.6 HTTPS与代理
  205. 18.2 跨站请求伪造
  206. 18.3 认证
  207. 18.3.1 认证与授权
  208. 18.3.2 使用密码认证的问题
  209. 18.3.3 第三方认证
  210. 18.3.4 在数据库里存储用户信息
  211. 18.3.5 认证与注册及用户体验
  212. 18.3.6 Passport
  213. 18.3.7 基于角色的授权
  214. 18.3.8 增加认证提供者
  215. 18.4 小结
  216. 第19章 集成第三方API
  217. 19.1 社交媒体
  218. 19.1.1 社交媒体插件与网站性能
  219. 19.1.2 搜索推文
  220. 19.1.3 展现推文
  221. 19.2 地理编码
  222. 19.2.1 使用谷歌生成地理编码
  223. 19.2.2 为你的数据做地理编码
  224. 19.2.3 显示地图
  225. 19.3 天气数据
  226. 19.4 小结
  227. 第20章 调试
  228. 20.1 调试原则第一条
  229. 20.2 利用REPL和控制台
  230. 20.3 使用Node的内建调试器
  231. 20.4 Node调试客户端
  232. 20.5 调试异步函数
  233. 20.6 调试Express
  234. 20.7 小结
  235. 第21章 上线
  236. 21.1 域名注册与托管
  237. 21.1.1 域名系统
  238. 21.1.2 安全
  239. 21.1.3 顶级域名
  240. 21.1.4 子域名
  241. 21.1.5 域名服务器
  242. 21.1.6 托管服务
  243. 21.1.7 部署
  244. 21.2 小结
  245. 第22章 维护
  246. 22.1 维护的原则
  247. 22.1.1 长远规划
  248. 22.1.2 使用源代码控制
  249. 22.1.3 使用问题跟踪系统
  250. 22.1.4 保持良好的“卫生习惯”
  251. 22.1.5 不要拖延
  252. 22.1.6 例行QA核查
  253. 22.1.7 监控分析
  254. 22.1.8 优化性能
  255. 22.1.9 优先跟踪潜在客户
  256. 22.1.10 避免“不可见”的故障
  257. 22.2 代码重用与重构
  258. 22.2.1 私有npm仓库
  259. 22.2.2 中间件
  260. 22.3 小结
  261. 第23章 更多资源
  262. 23.1 在线文档
  263. 23.2 期刊
  264. 23.3 Stack Overflow
  265. 23.4 对Express做贡献
  266. 23.5 小结
书名:Node与Express开发(第2版)
作者:Ethan Brown
译者:吴滠栩 译
国内出版社:人民邮电出版社
出版时间:2021年06月
页数:266
书号:978-7-115-56509-9
原版书书名:Web Development with Node and Express, Second Edition
原版书出版商:O'Reilly Media
Ethan Brown
 
Ethan Brown美国俄勒冈州Pop Art公司的高级软件工程师,负责网站及Web服务架构的设计与实现。拥有20多年编程经验,从事过嵌入式开发和Web开发,他相信JavaScript技术栈是未来的Web平台。
 
 
购买选项
定价:109.80元
书号:978-7-115-56509-9
出版社:人民邮电出版社