Node与Express开发(第2版)

Node与Express开发(第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Ethan Brown)
2021-06
版次: 1
ISBN: 9787115565099
定价: 109.80
装帧: 其他
开本: 其他
纸张: 胶版纸
页数: 266页
字数: 426千字
6人买过
  • 本书系统地讲解了使用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
查看详情
12
相关图书 / 更多
Node与Express开发(第2版)
NoSQL数据库入门与实践(基于MongoDB、Redis)(第2版)
刘瑜 安义 王晓智
Node与Express开发(第2版)
NoSQL数据库从入门到实战(微课视频版)
吕云翔 郭婉茹 余志浩 贺祺 郭宇光
Node与Express开发(第2版)
Node.js 后端全程实战
凌杰
Node与Express开发(第2版)
Node.js从基础到项目实践(视频教学版)
袁龙
Node与Express开发(第2版)
Node.js实战:分布式系统中的后端服务开发
[美]托马斯·亨特二世(Thomas Hunter II)
Node与Express开发(第2版)
Node.js+Express+MongoDB+Vue.js全栈开发实战
柳伟卫
Node与Express开发(第2版)
NoSQL数据库原理(第2版)(微课版)
北京邮电大学智能信息技术课题组
Node与Express开发(第2版)
Node.js从入门到精通
明日科技
Node与Express开发(第2版)
NoSQL数据库实战派:Redis+MongoDB+HBase
赵渝强 著
Node与Express开发(第2版)
NoSQL数据库技术及应用
郭建磊 王嫱
Node与Express开发(第2版)
Node.js Web全栈开发实战
千锋教育高教产品研发部
Node与Express开发(第2版)
NoSQL数据库技术
张元鸣
您可能感兴趣 / 更多
Node与Express开发(第2版)
宇宙视觉史:从宇宙大爆炸到时间的尽头
[美]查尔斯·刘 著;高爽 译者;[美]马克西姆· 马洛维奇科 绘;未读 出品
Node与Express开发(第2版)
写出我心 普通人如何通过写作表达自己(平装本)
[美]娜塔莉·戈德堡(Natalie Goldberg)
Node与Express开发(第2版)
写出我心3 写作疗愈的真正秘密
[美]娜塔莉·戈德堡(Natalie Goldberg)
Node与Express开发(第2版)
神套路:为什么我们总被带节奏(狂热与网红时代醍醐灌顶之作,教给普通人安身立命的不二法门!)
[美]阿里·阿莫萨维 著;[哥伦比亚]亚历杭德罗·希拉尔多 绘
Node与Express开发(第2版)
阿伦森自传
[美]埃利奥特·阿伦森(Elliot Aronson) 著;沈捷 译;湛庐文化 出品
Node与Express开发(第2版)
街头官僚:公共服务中的个人困境
[美]迈克尔·李普斯基(Michael Lipsky)
Node与Express开发(第2版)
史前至蒙古帝国时期的内欧亚大陆史
[美]大卫·克里斯蒂安 著;潘玲 译;杨建华 校
Node与Express开发(第2版)
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
Node与Express开发(第2版)
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
Node与Express开发(第2版)
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
Node与Express开发(第2版)
自律我也能做到(全9册)
[美]康妮·科维尔·米勒 著;[阿根廷]维多利亚·阿萨纳利 绘
Node与Express开发(第2版)
你在等什么?
[美]斯科特·明钦 著;[中]易万 译;[美]马特 ·斐兰 绘