当前位置:首页 > 工业技术
图灵程序设计丛书  Node.js实战  第2版
图灵程序设计丛书  Node.js实战  第2版

图灵程序设计丛书 Node.js实战 第2版PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(英)亚历克斯·杨(ALEXYOUNG),(美)布拉德利·马克,(美)麦克·艾特伦,(美)蒂姆·奥克斯利,(美)马克·哈特,(美)T.J.霍洛瓦丘,(美)内森·拉伊利赫著;吴海星译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115487308
  • 页数:314 页
图书介绍:本书是Node.js 的实战教程,涵盖了为开发产品级Node应用程序所需要的一切特性、技巧以及相关理念。从搭建Node开发环境,到一些简单的演示程序,到开发复杂应用程序所必不可少的异步编程。第2版介绍了全栈开发者所需的全部技术,包括前端构建系统、选择Web框架、在Node中与数据库的交互、编写测试和部署Web程序,等等。
《图灵程序设计丛书 Node.js实战 第2版》目录

第一部分 Node基础知识介绍 2

第1章 欢迎进入Node.js的世界 2

1.1 一个典型的Node Web应用程序 2

1.1.1 非阻塞I/O 3

1.1.2 事件轮询 4

1.2 ES2015、Node和V8 5

1.2.1 Node与V8 7

1.2.2 使用特性组 8

1.2.3 了解Node的发布计划 8

1.3 安装Node 8

1.4 Node自带的工具 9

1.4.1 npm 9

1.4.2 核心模块 10

1.4.3 调试器 11

1.5 三种主流的Node程序 12

1.5.1 Web应用程序 12

1.5.2 命令行工具和后台程序 13

1.5.3 桌面程序 14

1.5.4 适合Node的应用程序 14

1.6 总结 15

第2章 Node编程基础 16

2.1 Node功能的组织及重用 16

2.2 开始个新的Node项目 18

2.3 用module.exports微调模块的创建 20

2.4 用node_modules重用模块 22

2.5 注意事项 23

2.6 使用异步编程技术 24

2.7 用回调处理一次性事件 25

2.8 用事件发射器处理重复性事件 28

2.8.1 事件发射器示例 28

2.8.2 响应只应该发生一次的事件 29

2.8.3 创建事件发射器:一个PUB/SUB的例子 29

2.8.4 扩展事件监听器:文件监视器 32

2.9 异步开开发的难题 34

2.10 异步逻辑的顺序化 35

2.11 何时使用串行流程控制 36

2.12 实现串行化流程控制 37

2.13 实现并行化流程控制 39

2.14 利用社区里的工具 41

2.15 总结 43

第3章 Node Web程序是什么 44

3.1 了解Node Web程序的结构 45

3.1.1 开始一个新的Web程序 45

3.1.2 跟其他平台比一比 47

3.1.3 然后呢 47

3.2 搭建一个RESTful Web服务 47

3.3 添加数据库 50

3.3.1 制作自己的模型API 51

3.3.2 让文章可读并把它存起来 53

3.4 添加用户界面 54

3.4.1 支持多种格式 54

3.4.2 渲染模板 55

3.4.3 用npm管理客户端依赖项 56

3.5 总结 57

第二部分 Node的Web开发 60

第4章 前端构建系统 60

4.1 了解基于Node的前端开发 60

4.2 用npm运行脚本 61

4.2.1 创建定制的npm脚本 62

4.2.2 配置前端构建工具 63

4.3 用Gulp实现自动化 63

4.3.1 把Gulp添加到项目中 64

4.3.2 Gulp任务的创建及运行 64

4.3.3 监测变化 66

4.3.4 在大项目中把任务分散到不同文件中 66

4.4 用Webpack构建Web程序 67

4.4.1 使用打包器和插件 67

4.4.2 配置和运行Webpack 68

4.4.3 用Webpack开发服务器 68

4.4.4 加载CommonJS模块和静态资源 70

4.5 总结 71

第5章 服务器端框架 72

5.1 用户画像 72

5.1.1 菲尔:代理开发者 73

5.1.2 纳迪娜:开源开发者 73

5.1.3 爱丽丝:产品开发者 73

5.2 框架是什么 74

5.3 Koa 74

5.3.1 设置 76

5.3.2 定义路由 76

5.3.3 REST API 77

5.3.4 优点 77

5.3.5 弱点 77

5.4 Kraken 77

5.4.1 设置 77

5.4.2 定义路由 78

5.4.3 REST API 79

5.4.4 优点 79

5.4.5 弱点 79

5.5 hapi 79

5.5.1 设置 80

5.5.2 定义路由 80

5.5.3 插件 81

5.5.4 REST API 82

5.5.5 优点 83

5.5.6 弱点 83

5.6 Sails.js 83

5.6.1 设置 83

5.6.2 定义路由 84

5.6.3 REST API 84

5.6.4 优点 85

5.6.5 弱点 85

5.7 DerbyJS 85

5.7.1 设置 85

5.7.2 定义路由 86

5.7.3 REST API 87

5.7.4 优点 87

5.7.5 弱点 87

5.8 Flatiron js 87

5.8.1 设置 88

5.8.2 定义路由 88

5.8.3 REST API 89

5.8.4 优点 90

5.8.5 弱点 90

5.9 LoopBack 90

5.9.1 设置 91

5.9.2 定义路由 92

5.9.3 REST API 92

5.9.4 优点 93

5.9.5 弱点 93

5.10 比较 93

5.11 编写模块化代码 95

5.12 用户选择 95

5.13 总结 95

第6章 深入了解Connect和Express 96

6.1 Connect 96

6.1.1 创建Connect程序 97

6.1.2 了解Connect中间件的工作机制 97

6.1.3 组合中间件 98

6.1.4 中间件的顺序 98

6.1.5 创建可配置的中间件 99

6.1.6 使用错误处理中间件 101

6.2 Express 103

6.2.1 生成程序框架 103

6.2.2 Express和程序的配置 107

6.2.3 渲染视图 109

6.2.4 Express路由入门 113

6.2.5 用户认证 120

6.2.6 注册新用户 124

6.2.7 已注册用户登录 130

6.2.8 用户加载中间件 133

6.2.9 创建REST API 134

6.2.10 启用内容协商 140

6.3 总结 142

第7章 Web程序的模板 143

7.1 用模板保持代码的整洁性 143

7.2 Embedded JavaScript的模板 147

7.2.1 创建模板 148

7.2.2 将EJS集成到你的程序中 149

7.2.3 在客户端程序中使用EJS 150

7.3 使用Mustache模板语言与Hogan 151

7.3.1 创建模板 151

7.3.2 Mustache标签 151

7.3.3 微调Hogan 154

7.4 用Pug做模板 154

7.4.1 Pug基础知识 155

7.4.2 Pug模板中的逻辑 157

7.4.3 组织Pug模板 159

7.5 总结 163

第8章 存储数据 164

8.1 关系型数据库 164

8.2 PostgreSQL 164

8.2.1 安装及配置 164

8.2.2 创建数据库 165

8.2.3 从Node中连接Postgres 165

8.2.4 定义表 166

8.2.5 插入数据 166

8.2.6 更新数据 166

8.2.7 查询数据 167

8.3 Knex 167

8.3.1 查询构建器 168

8.3.2 用Knex实现连接和查询 168

8.3.3 切换数据库 170

8.3.4 注意抽象漏洞 171

8.4 MySQL和PostgreSQL 171

8.5 ACID保证 172

8.5.1 原子性:无论成败,事务必须整体执行 172

8.5.2 一致性:始终确保约束条件 172

8.5.3 隔离性:并发事务不会相互干扰 172

8.5.4 耐用性:事务是永久性的 173

8.6 NoSQL 173

8.7 分布式数据库 173

8.8 MongoDB 174

8.8.1 安装和配置 174

8.8.2 连接MongoDB 174

8.8.3 插入文档 175

8.8.4 查询 176

8.8.5 使用MongoDB标识 177

8.8.6 使用复制集 178

8.8.7 了解写关注 180

8.9 键/值存储 181

8.10 Redis 181

8.10.1 安装和配置 182

8.10.2 初始化 182

8.10.3 处理键/值对 183

8.10.4 处理键 184

8.10.5 编码与数据类型 184

8.10.6 使用散列表 186

8.10.7 使用列表 186

8.10.8 使用集合 187

8.10.9 用频道实现发布/订阅功能 188

8.10.10 提升性能 189

8.11 嵌入式数据库 189

8.12 LevelDB 190

8.12.1 LevelUP与LevelDOWN 190

8.12.2 安装 191

8.12.3 API概览 191

8.12.4 初始化 191

8.12.5 键/值编码 192

8.12.6 键/值对的读写 192

8.12.7 可插拔的后台 193

8.12.8 模块化数据库 194

8.13 昂贵的序列化和反序列化 195

8.14 浏览器内存储 196

8.14.1 Web存储:localStorage和sessionStorage 196

8.14.2 值的读写 197

8.14.3 localForage 199

8.14.4 读和写 199

8.15 存储托管 200

8.16 选哪个数据库 201

8.17 总结 201

第9章 测试Node程序 202

9.1 单元测试 203

9.1.1 assert模块 203

9.1.2 Mocha 206

9.1.3 Vows 211

9.1.4 Chai 213

9.1.5 Should.js 214

9.1.6 Sinon.JS的探测器和存根 216

9.2 功能测试 218

9.3 处理失败的测试 221

9.3.1 获取更详细的日志 221

9.3.2 更好的栈跟踪 223

9.4 总结 224

第10章 Node程序的部署及运维 225

10.1 安置Node程序 225

10.1.1 平台即服务 226

10.1.2 服务器 227

10.1.3 容器 228

10.2 部署的基础知识 229

10.2.1 从Git库部署 229

10.2.2 保证Node不掉线 230

10.3 在线时长和性能的最大化 231

10.3.1 用Upstart保证在线时长 232

10.3.2 集群API:充分利用多核处理器 233

10.3.3 静态文件及代理 235

10.4 总结 236

第三部分 超越Web开发 238

第11章 编写命令行程序 238

11.1 了解惯例和理念 238

11.2 parse-json 239

11.3 使用命令行参数 239

11.3.1 解析命令行参数 239

11.3.2 验证参数 240

11.3.3 将stdin作为文件传递 241

11.4 用npm分享命令行工具 242

11.5 用管道连接脚本 243

11.5.1 将数据通过管道传给parse-json 243

11.5.2 处理错误和退出码 243

11.5.3 在Node中使用管道 245

11.5.4 管道与命令的执行顺序 246

11.6 解释真正的脚本 247

11.7 总结 247

第12章 用Electron征服桌面 248

12.1 认识Electron 248

12.1.1 Electron的技术栈 249

12.1.2 界面设计 250

12.2 创建一个Electron程序 250

12.3 搭建完整的桌面端程序 252

12.3.1 引导React与Babel 253

12.3.2 安装依赖项 253

12.3.3 设置Webpack 254

12.4 React程序 255

12.4.1 定义Request组件 256

12.4.2 定义Response组件 258

12.4.3 React组件之间的通信 261

12.5 构建与分发 261

12.5.1 用Electron打包器构建程序 261

12.5.2 打包 262

12.6 总结 263

附录A 安装Node 264

附录B 自动化的网络抓取 267

附录C Connect的官方中间件 277

术语表 307

相关图书
作者其它书籍
返回顶部