Node与Express开发(第2版)

Node与Express开发(第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Ethan Brown)
2021-06
版次: 1
ISBN: 9787115565099
定价: 109.80
装帧: 其他
开本: 其他
纸张: 胶版纸
页数: 266页
字数: 426千字
  • 本书系统地讲解了使用Express开发动态Web应用的流程和步骤。作者不仅讲授了开发公共站点及REST API的基础知识,还讲解了构建单页、多页及混合Web应用的规划方式及实践。为了适应中间件及相关工具在过去几年里的变化,第2版更侧重于Express作为提供API的后端服务器,并新增了单页应用的示例。
      本书适合希望使用JavaScript、Node、Express构建Web应用的开发人员阅读。 伊桑·布朗(Ethan Brown),美国VMS公司技术总监,负责公司旗舰产品的架构和实现。他拥有20多年的编程经验,在Node、Express、JavaScript、React的实践方面拥有独到见解。 前言 xvii

    第 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
  • 内容简介:
    本书系统地讲解了使用Express开发动态Web应用的流程和步骤。作者不仅讲授了开发公共站点及REST API的基础知识,还讲解了构建单页、多页及混合Web应用的规划方式及实践。为了适应中间件及相关工具在过去几年里的变化,第2版更侧重于Express作为提供API的后端服务器,并新增了单页应用的示例。
      本书适合希望使用JavaScript、Node、Express构建Web应用的开发人员阅读。
  • 作者简介:
    伊桑·布朗(Ethan Brown),美国VMS公司技术总监,负责公司旗舰产品的架构和实现。他拥有20多年的编程经验,在Node、Express、JavaScript、React的实践方面拥有独到见解。
  • 目录:
    前言 xvii

    第 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
查看详情
相关图书 / 更多
Node与Express开发(第2版)
NoSQL数据库原理与应用
王爱国、许桂秋 著
Node与Express开发(第2版)
Node.js开发实战(Node.js新特性汇总,2018年引进版)
吉姆·威尔逊(Jim、R.、Wilson 著
Node与Express开发(第2版)
Node+MongoDB+React 项目实战开发
邹琼俊 编著
Node与Express开发(第2版)
NoSQL数据库技术
袁燕妮 著
Node与Express开发(第2版)
Nonlinear Dynamics, Chaos, and Complexity : In Memory of Valentin Afraimovich
Dimitri Volchenkov
Node与Express开发(第2版)
Node.js开发实战教程(慕课版)
钟小平 著
Node与Express开发(第2版)
NoSQL数据库原理与应用/大数据专业应用型人才培养规划教材
熊江、许桂秋 编
Node与Express开发(第2版)
Node.js开发指南
李锴
Node与Express开发(第2版)
Node.js12实战
赵荣娇 著
Node与Express开发(第2版)
NoSQL数据库技术与应用
黑马程序员
Node与Express开发(第2版)
Node.js无服务器应用实战 使用AWS Lambda和 Claudia.js
[塞尔维亚]斯洛博丹·斯托扬诺维奇(Slobodan Stojanovic);[(塞尔维亚]亚历山大·西蒙维奇(Aleksandar Simovic)
Node与Express开发(第2版)
Node.js+Webpack开发实战
夏磊 著
您可能感兴趣 / 更多
Node与Express开发(第2版)
启微·通往权力之路:康熙和他的继承人
[美]吴秀良(Silas H.L.Wu) 著;张震久、吴伯娅、董建中 译
Node与Express开发(第2版)
元分析:数据分析的共识方法与系统模式
[美]史蒂文·西姆斯克(Steven Simske) 著;倪泳鑫 潘微科 明仲 译
Node与Express开发(第2版)
哥伦比亚中国文学史(全8卷)(2版)
[美]梅维恒 编;马小悟、张治、刘文楠 译
Node与Express开发(第2版)
论弗洛伊德的《女性气质》—国际精神分析协会《当代弗洛伊德转折点与重要议题》系列
[美]格拉谢拉·阿贝林-萨斯·罗斯(Graciela Abelin-Sas Rose) 编;[阿根廷]利蒂西娅·格洛瑟·菲奥里尼(Leticia Glocer Fiorini)、闪小春 译
Node与Express开发(第2版)
血流动力学监测
[美]迈克尔·R·平斯基 编;陈德昌、刘娇 译
Node与Express开发(第2版)
别让鸽子开巴士!(平装全6册):3-6岁习惯养成互动绘本爱心树童书
[美]莫•威廉斯 著;阿甲 译
Node与Express开发(第2版)
新纪元科学:超自然及其捍卫者、揭露者与美国文化
[美]戴维·J.赫斯(David J.Hess) 著;王挺 编;郑念、潘涛 译
Node与Express开发(第2版)
爱书猪宝宝
[美]葛瑞格·皮佐利著 董欣佳 译
Node与Express开发(第2版)
探寻复杂问题中的关键X:公共卫生与医疗服务体系建模
[美]桑杰·巴苏(Sanjay Basu) 著;王力男、陈玉倩、徐嘉婕 译
Node与Express开发(第2版)
通过解题学习代数几何
[美]托马斯.嘉里蒂 著
Node与Express开发(第2版)
健康老年人的沟通与吞咽变化
[美]安吉拉·N.布尔达(Angela N.Burda) 著;曹宜璠、袁玉芹 译
Node与Express开发(第2版)
时代广场的蟋蟀
[美]乔治·塞尔登 著;傅湘雯 译