Web开发经典丛书 MERN全栈开发 使用Mongo Express React和Node
作者:[美] Vasan,Subramanian,杜伟,柴晓伟,涂 著
出版时间: 2018年版
丛编项: Web开发经典丛书
内容简介
使用React构建现代Web应用,需要组合使用一个完整的技术栈:MongoDB(NoSQL数据库)、Express(Web应用服务器框架)及其运行语言Node(服务器端的JavaScript),从而形成对React技术的完美补充。本书还涵盖了构建完整Web应用所用到的诸多工具:React Router、React-Bootstrap、Redux、babel以及webpack。《MERN全栈开发 使用Mongo Express React和Node》旨在帮助读者掌握构建完备Web应用的技能,书中的大部分内容都会专注于React技术的使用。流行的MEAN(MongoDB、Express、AngularJS、Node)技术栈引入了单页面应用(SPA)和前端的MVC(模型-视图-控制器)模式,*了全新、高效的开发模式。不过它也有缺点,例如缺乏能够良好支持SEO的服务器端渲染能力,以及作为框架而言过于严格的规范性。Facebook创立的React技术并不是AngularJS直接的竞争对手,它并不是一个完整的MVC框架,而是一个用于创建用户界面(某种意义上来说,就是视图部分)的JavaScript库。然而,使用React替代AngularJS来创建Web应用也是完全可行的,这也正是MERN技术栈存在的价值。主要内容● 详细了解React及其编程风格,了解如何充分发挥它的能力● 了解MongoDB、Express和Node的基本功能,这些功能足以让你完成Web应用的搭建● 学习补充React功能的相关工具,包括React-Bootstrap和React Router● 使用必要的工具搭建基于JavaScript的单页面应用● 将所有组件连接在一起,构建完整的Web应用
目录
目 录
第1章 引言 1
1.1 MERN是什么 1
1.2 本书的目标读者 3
1.3 本书组织结构 3
1.4 格式约定 5
1.5 读者须知 7
1.6 MERN的组件 8
1.6.1 React 8
1.6.2 Node.js 11
1.6.3 Express 14
1.6.4 MongoDB 15
1.6.5 工具与库 17
1.7 为何使用MERN
技术栈 19
1.7.1 清一色的JavaScript
语言 19
1.7.2 清一色的JSON数据格式 20
1.7.3 Node.js的性能 20
1.7.4 npm生态系统 21
1.7.5 同构性 21
1.7.6 它不是一个框架 22
1.8 小结 22
第2章 Hello World 23
2.1 脱离服务器的
Hello World 23
2.2 服务器搭建 27
2.2.1 nvm 27
2.2.2 Node.js 28
2.2.3 项目 29
2.2.4 npm 30
2.2.5 Express 32
2.3 构建阶段的JSX
编译 34
2.3.1 分离脚本文件 35
2.3.2 转换 36
2.3.3 自动化 38
2.3.4 React库 39
2.4 ES2015 39
2.5 小结 43
2.6 习题答案 43
2.6.1 习题:JSX 43
2.6.2 习题:npm 44
2.6.3 习题:Express 44
2.6.4 习题:babel 45
2.6.5 习题:ES2015 45
第3章 React组件 47
3.1 Issue Tracker
(问题追踪) 47
3.2 React类 49
3.3 组件组装 51
3.4 传递数据 53
3.4.1 使用属性 53
3.4.2 属性校验 56
3.4.3 使用Children 57
3.5 动态组装 59
3.6 小结 64
3.7 习题答案 64
3.7.1 习题:React类 64
3.7.2 习题:传递数据 64
3.7.3 习题:动态组装 65
第4章 React状态 67
4.1 设置状态 67
4.2 异步状态初始化 71
4.3 事件处理 73
4.4 从子组件到父组件的
通信 74
4.5 无状态组件 77
4.6 设计组件 79
4.6.1 状态与props 79
4.6.2 组件层次结构 80
4.6.3 通信 80
4.6.4 无状态组件 80
4.7 小结 81
4.8 习题答案 81
4.8.1 习题:设置状态 81
4.8.2 习题:从子组件到
父组件的通信 82
第5章 Express REST APIs 83
5.1 REST 83
5.1.1 基于资源 84
5.1.2 使用HTTP Methods
标识操作 84
5.1.3 JSON 87
5.2 Express 87
5.2.1 路由 87
5.2.2 处理程序函数 89
5.2.3 中间件 91
5.3 List API 92
5.3.1 服务器自动重启 94
5.3.2 测试 95
5.4 Create API 97
5.5 使用List API 100
5.6 使用Create API 102
5.7 错误处理 104
5.8 小结 108
5.9 习题答案 109
5.9.1 习题:List API 109
5.9.2 习题:Create API 110
5.9.3 习题:使用
List API 111
5.9.4 习题:使用
Create API 111
5.9.5 习题:错误处理 111
第6章 使用MongoDB 113
6.1 MongoDB基础 113
6.1.1 文档 113
6.1.2 集合 114
6.1.3 查询语言 115
6.1.4 安装 116
6.1.5 mongo shell 117
6.1.6 shell脚本 121
6.2 架构初始化 122
6.3 MongoDB Node.js
驱动程序 123
6.3.1 回调 126
6.3.2 Promises 127
6.3.3 Generator和co
模块 128
6.3.4 async模块 129
6.4 从MongoDB读取
数据 131
6.5 向MongoDB写入
数据 134
6.6 小结 136
6.7 习题答案 136
6.7.1 习题:mongo
shell 136
6.7.2 习题:架构
初始化 137
6.7.3 习题:从MongoDB
读取数据 137
6.7.4 习题:向MongoDB
写入数据 138