MERN全栈开发 -使用Mongo Express React和Node

本书特色

[

使用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应用

]

内容简介

[

当Web 开发技术日渐成熟,各种*实践和模式逐渐被总结和沉淀下来,“技术栈”这个术语开始出现。技术栈通常指的是开发一个完整的Web 应用程序时所需的特定工具、库、框架的组合。印象中,*个*热门的Web 开发技术栈是LAMP(Linux、Apache、MySQL 和PHP),随着前端在Web 开发领域中所占的比例越来越大,以及Node.js 的流行,MEAN 技术栈(MongoDB、Express、AngularJS 和Node.js)逐渐异军突起,影响力越来越大。由于MEAN 技术栈的前后端全都使用了JavaScript 语言,这也使得“全栈工程师”这个称呼开始流行起来。《MERN全栈开发 使用Mongo Express React和Node》所讲述的MERN 技术栈,和MEAN 只有一“字母”之差。MERN将MEAN 中的AngularJS 更换成这两年明显更受欢迎、使用更加广泛的React,使得自己相比MEAN 更接地气,更适合有志成为“全栈工程师”的Web 开发人员阅读。在阅读本书以及完成《MERN全栈开发 使用Mongo Express React和Node》中所包含练习的过程中,你很自然地就会学习到如何寻找高质量的GitHub 开源项目,并将它们应用到你的应用程序中。

]

作者简介

[

Vasan Subramanian使用过各种各样的编程语言,从8085上手工编写8位机的汇编代码,一直到AWS Lambda。他热衷于通过软件解决问题,更喜欢寻找合适的技术组合,帮助软件开发团队提高效率。他在Corel、Wipro、Barracuda Networks软件公司学习编程,从事程序员工作的同时,也在这些公司中担任团队负责人。Vasan就读于印度理工学院马德拉斯校区(IIT Madras)和印度管理学院班加罗尔分校(IIM Bangalore)。他目前在Accel公司担任CTO,为创业公司提供各种技术指导。除了提供指导、编写程序(当然还有写书!)之外,Vasan也是半程马拉松爱好者,还参加五人制足球比赛。你可以通过vasan.promern@gmail.com联系他,欢迎赞扬、批评,或是介于这两者之间的一切意见。

]

目录

目 录

第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
第7章 模块化与webpack 139
7.1 服务器端模块 139
7.2 webpack简介 142
7.3 手工使用webpack 143
7.4 转换和打包 146
7.5 库捆绑包 151
7.6 模块热替换 155
7.7 使用中间件实现
HMR 158
7.8 调试 161
7.9 服务器端ES2015
163
7.10 ESLint
168
7.11 小结 176
7.12 习题答案 177
7.12.1 习题:转换和
打包 177
7.12.2 习题:模块热
替换 178
7.12.3 习题:服务器
端ES2015
178
7.12.4 习题:ESLint
179
第8章 使用React Router进行
路由 181
8.1 路由技术 182
8.2 简单的路由 183
8.3 路由参数 185
8.4 路由查询字符串 188
8.5 使用程序进行导航 193
8.6 嵌套的路由 196
8.7 浏览器历史 200
8.8 小结 202
8.9 习题答案 202
8.9.1 习题:路由
参数 202
8.9.2 习题:路由查询字
符串 203
8.9.3 习题:使用程序进行
导航 204
第9章 表单 205
9.1 List
API中的更多过滤
功能 205
9.2 过滤表单 207
9.3 Get
API 214
9.4 Edit页面 216
9.5 UI组件 220
9.5.1 数字输入框 221
9.5.2 Date输入框 226
9.6 Update
API 232
9.7 使用Update
API 236
9.8 Delete
API 238
9.9 使用Delete
API 239
9.10 小结 242
9.11 习题答案 242
9.11.1 习题:在List API
中添加更多过滤
条件 242
9.11.2 习题:过滤
表单 242
9.11.3 习题:Edit
页面 243
9.11.4 习题:Date
输入框 243
9.11.5 习题:
Update API
244
第10章 React-Bootstrap 245
10.1 安装Bootstrap
246
10.2 导航 249
10.3 表格和面板 256
10.4 表单 258
10.4.1 基于栅格的
表单 259
10.4.2 内联表单 263
10.4.3 横向表单 265
10.5 提示 270
10.5.1 验证消息 270
10.5.2 结果消息 272
10.6 模态对话框 279
10.7 小结 284
10.8 习题答案 285
10.8.1 习题:导航 285
10.8.2 习题:基于栅格
的表单 285
10.8.3 习题:内联
表单 286
10.8.4 习题:模态对
话框 286
第11章 服务器端渲染 287
11.1 基本的服务器端
渲染 288
11.2 处理state
293
11.3 初始state
296
11.4 服务器端bundle
298
11.5 后端HMR
301
11.6 配合路由功能的服务
器端渲染 306
11.7 封装Fetch操作 314
11.8 小结 319
11.9 习题答案 320
11.9.1 习题:后端
HMR 320
11.9.2 习题:配合路由功
能的服务器端
渲染 320
第12章 高级特性 321
12.1 MongoDB聚合 321
12.2 分页 331
12.3 高阶组件(Higher
Order
Components)
336
12.4 搜索栏 345
12.5 Google账号登录 351
12.6 会话处理 359
12.7 小结 367
第13章 展望 369
13.1 Mongoose
370
13.2 Flux
371
13.3 部署 373
13.4 mern.io
375
13.5 同学们,下课 377

封面

MERN全栈开发 -使用Mongo Express React和Node

书名:MERN全栈开发 -使用Mongo Express React和Node

作者:瓦萨尼.苏布拉玛尼安

页数:377

定价:¥59.8

出版社:清华大学出版社

出版日期:2018-01-01

ISBN:9787302491521

PDF电子书大小:73MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注