作品简介

本书系统讲解了使用Express开发动态Web应用的流程和步骤。作者不仅讲授了开发公共站点及REST API的基础知识,同时还讲解了构建单页、多页及混合Web应用的规划方式及最佳实践。具体而言,第1~5章介绍Node 和Express,搭建一个示例网站的骨架,讨论测试和QA。第6~12章介绍Node中更重要的结构,讲解模板,介绍cookies、会话和表单处理器,探讨中间件以及从服务器发送电子邮件。第13~15章讨论持久化、URL路由、API的编写、流行的MVC范式。第18~22章讨论安全、社交媒体集成以及网站的调试、启用和维护。

本书适合所有前端和后端开发人员阅读。

Ethan Brown

美国俄勒冈州Pop Art公司的高级软件工程师,负责网站及Web服务架构的设计与实现。拥有20多年编程经验,从事过嵌入式开发和Web开发,他相信JavaScript技术栈是未来的Web平台。

作品目录

  • 版权声明
  • O'Reilly Media, Inc.介绍
  • 业界评论
  • 献词
  • 前言
  • 读者对象
  • 内容安排
  • 示例网站
  • 排版约定
  • 使用代码示例
  • Safari<sup>®</sup> Books Online
  • 联系我们
  • 致谢
  • 第 1 章 初识Express
  • 1.1 JavaScript革命
  • 1.2 初识Express
  • 1.3 Express简史
  • 1.4 升级到Express 4.0
  • 1.5 Node:一种新型Web服务器
  • 1.6 Node的生态系统
  • 1.7 授权
  • 第 2 章 从Node开始
  • 2.1 获取Node
  • 2.2 使用终端
  • 2.3 编辑器
  • 2.4 npm
  • 2.5 用Node实现的简单Web服务器
  • 2.5.1 Hello World
  • 2.5.2 事件驱动编程
  • 2.5.3 路由
  • 2.5.4 静态资源服务
  • 2.6 走向Express
  • 第 3 章 省时省力的Express
  • 3.1 脚手架
  • 3.2 草地鹨旅行社网站
  • 3.3 初始步骤
  • 3.3.1 视图和布局
  • 3.3.2 视图和静态文件
  • 3.3.3 视图中的动态内容
  • 3.4 小结
  • 第 4 章 工欲善其事,必先利其器
  • 4.1 最佳实践
  • 4.2 版本控制
  • 4.3 针对本书如何使用Git
  • 4.3.1 如果你要自己动手
  • 4.3.2 如果你要使用官方存储库
  • 4.4 npm包
  • 4.5 项目元数据
  • 4.6 Node模块
  • 第 5 章 质量保证
  • 5.1 QA:值得吗
  • 5.2 逻辑与展示
  • 5.3 测试的类型
  • 5.4 QA技术概览
  • 5.5 运行你的服务器
  • 5.6 页面测试
  • 5.7 跨页测试
  • 5.8 逻辑测试
  • 5.9 去毛
  • 5.10 链接检查
  • 5.11 用Grunt实现自动化
  • 5.12 持续集成
  • 第 6 章 请求和响应对象
  • 6.1 URL的组成部分
  • 6.2 HTTP请求方法
  • 6.3 请求报头
  • 6.4 响应报头
  • 6.5 互联网媒体类型
  • 6.6 请求体
  • 6.7 参数
  • 6.8 请求对象
  • 6.9 响应对象
  • 6.10 获取更多信息
  • 6.11 小结
  • 6.11.1 内容渲染
  • 6.11.2 处理表单
  • 6.11.3 提供一个API
  • 第 7 章 Handlebars模板引擎
  • 7.1 唯一一条绝对规则1
  • 7.2 选择模板引擎
  • 7.3 Jade:不走寻常路
  • 7.4 Handlebars基础
  • 7.4.1 注释
  • 7.4.2 块级表达式
  • 7.4.3 服务器端模板
  • 7.4.4 视图和布局
  • 7.4.5 在Express中使用(或不使用)布局
  • 7.4.6 局部文件
  • 7.4.7 段落
  • 7.4.8 完善你的模板
  • 7.4.9 客户端Handlebars
  • 7.5 小结
  • 第 8 章 表单处理
  • 8.1 向服务器发送客户端数据
  • 8.2 HTML表单
  • 8.3 编码
  • 8.4 处理表单的不同方式
  • 8.5 Express表单处理
  • 8.6 处理AJAX表单
  • 8.7 文件上传
  • 8.8 jQuery文件上传
  • 第 9 章 Cookie与会话
  • 9.1 凭证的外化
  • 9.2 Express中的Cookie
  • 9.3 检查Cookie
  • 9.4 会话
  • 9.4.1 内存存储
  • 9.4.2 使用会话
  • 9.5 用会话实现即显消息
  • 9.6 会话的用途
  • 第 10 章 中间件
  • 10.1 常用中间件
  • 10.2 第三方中间件
  • 第 11 章 发送邮件
  • 11.1 SMTP、MSA和MTA
  • 11.2 接收邮件
  • 11.3 邮件头
  • 11.4 邮件格式
  • 11.5 HTML邮件
  • 11.6 Nodemailer
  • 11.6.1 发送邮件
  • 11.6.2 将邮件发送给多个接收者
  • 11.7 发送批量邮件的更佳选择
  • 11.8 发送HTML邮件
  • 11.8.1 HTML邮件中的图片
  • 11.8.2 用视图发送HTML邮件
  • 11.8.3 封装邮件功能
  • 11.9 将邮件作为网站监测工具
  • 第 12 章 与生产相关的问题
  • 12.1 执行环境
  • 12.2 环境特定配置
  • 12.3 扩展你的网站
  • 12.3.1 用应用集群扩展
  • 12.3.2 处理未捕获的异常
  • 12.3.3 用多台服务器扩展
  • 12.4 网站监控
  • 12.4.1 第三方正常运行监控
  • 12.4.2 应用程序故障
  • 12.5 压力测试
  • 第 13 章 持久化
  • 13.1 文件系统持久化
  • 13.2 云持久化
  • 13.3 数据库持久化
  • 13.3.1 关于性能
  • 13.3.2 设置MongoDB
  • 13.3.3 Mongoose
  • 13.3.4 使用Mongoose连接数据库
  • 13.3.5 创建模式和模型
  • 13.3.6 添加初始数据
  • 13.3.7 获取数据
  • 13.3.8 添加数据
  • 13.3.9 用MongoDB存储会话数据
  • 第 14 章 路由
  • 14.1 路由和SEO
  • 14.2 子域名
  • 14.3 路由处理器是中间件
  • 14.4 路由路径和正则表达式
  • 14.5 路由参数
  • 14.6 组织路由
  • 14.7 在模块中声明路由
  • 14.8 按逻辑对处理器分组
  • 14.9 自动化渲染视图
  • 14.10 其他的路由组织方式
  • 第 15 章 REST API和JSON
  • 15.1 JSON和XML
  • 15.2 我们的API
  • 15.3 API错误报告
  • 15.4 跨域资源共享
  • 15.5 我们的数据存储
  • 15.6 我们的测试
  • 15.7 用Express提供API
  • 15.8 使用REST插件
  • 15.9 使用子域名
  • 第 16 章 静态内容
  • 16.1 性能方面的考虑
  • 16.2 面向未来的网站
  • 16.2.1 静态映射
  • 16.2.2 视图中的静态资源
  • 16.2.3 CSS中的静态资源
  • 16.3 服务器端JavaScript中的静态资源
  • 16.4 客户端JavaScript中的静态资源
  • 16.5 提供静态资源
  • 16.6 修改静态内容
  • 16.7 打包和缩小
  • 在开发模式中跳过打包和缩小
  • 16.8 关于第三方库
  • 16.9 QA
  • 16.10 小结
  • 第 17 章 在Express中实现MVC
  • 17.1 模型
  • 17.2 视图模型
  • 17.3 控制器
  • 17.4 小结
  • 第 18 章 安全
  • 18.1 HTTPS
  • 18.1.1 生成自己的证书
  • 18.1.2 使用免费的证书颁发机构
  • 18.1.3 购买证书
  • 18.1.4 对你的Express应用启用HTTPS
  • 18.1.5 关于端口的说明
  • 18.1.6 HTTPS和代理
  • 18.2 跨站请求伪造
  • 18.3 认证
  • 18.3.1 认证与授权
  • 18.3.2 密码的问题
  • 18.3.3 第三方认证
  • 18.3.4 把用户存在数据库中
  • 18.3.5 认证与注册和用户体验
  • 18.3.6 Passport
  • 搭建Passport
  • 18.3.7 基于角色的授权
  • 18.3.8 添加更多认证提供者
  • 18.4 小结
  • 第 19 章 集成第三方API
  • 19.1 社交媒体
  • 19.1.1 社交媒体插件和站点性能
  • 19.1.2 搜索推文
  • 19.1.3 渲染推文
  • 19.2 地理编码
  • 19.2.1 用谷歌的地理编码
  • 使用限制
  • 19.2.2 对你的数据做地理编码
  • 19.2.3 显示地图
  • 19.2.4 提升客户端性能
  • 19.3 天气数据
  • 19.4 小结
  • 第 20 章 调试
  • 20.1 调试的首要原则
  • 20.2 利用好REPL和控制台
  • 20.3 利用Node内置的调试器
  • 20.4 Node探查器
  • 20.5 调试异步函数
  • 20.6 调试Express
  • 第 21 章 正式启用
  • 21.1 域名注册和托管服务
  • 21.1.1 域名系统
  • 21.1.2 安全
  • 21.1.3 顶级域名
  • 21.1.4 子域名
  • 21.1.5 域名服务器
  • 21.1.6 托管
  • 21.1.7 部署
  • 21.2 小结
  • 第 22 章 维护
  • 22.1 维护的原则
  • 22.1.1 有长远规划
  • 22.1.2 使用源码控制系统
  • 22.1.3 使用问题追踪系统
  • 22.1.4 良好的卫生习惯
  • 22.1.5 不要拖延
  • 22.1.6 做常规的QA检查
  • 22.1.7 监测分析
  • 22.1.8 性能优化
  • 22.1.9 潜在用户追踪优先
  • 22.1.10 防止出现“不可见的”错误
  • 22.2 代码重用及重构
  • 22.2.1 私有npm库
  • 22.2.2 中间件
  • 22.3 小结
  • 第 23 章 其他资源
  • 23.1 在线文档
  • 23.2 期刊
  • 23.3 Stack Overflow
  • 23.4 为Express做贡献
  • 23.5 小结
  • 关于作者
  • 关于封面
  • 看完了
展开全部