转载至: https://www.jb51.net/books/410058.html
下载链接: 点我一键跳转到 下载链接
下载声明: 本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
《Node.js入门经典》分为6部分,第1部分介绍了Node.js的基本概念和特性;第2部分讲解如何借助HTTP模块和Express Web框架,使用Node.js创建基本的网站;第3部分介绍了调试和测试Node.js应用程序的工具,以及部署Node.js应用的方法;第4部分讲解了Node.js实现实时编程的能力以及Socket.IO;第5部分介绍了Node.js API以及构建Node.js应用程序所使用的组件;第6部分则介绍了CoffeeScript这款JavaScript预编译器的知识,以及如何在Node.js中使用中间件、Backbone.js来创建单页面应用的知识。
第1部分 入门
第1章 Node.js介绍 2
1.1 什么是Node.js 2
1.2 使用Node.js能做什么 3
1.3 安装并创建第一个Node.js程序 3
1.3.1 验证Node.js正确安装 4
1.3.2 创建“Hello World”Node.js程序 4
1.4 小结 5
1.5 问与答 6
1.6 测验 6
1.6.1 问题 6
1.6.2 答案 7
1.7 练习 7
第2章 npm(Node包管理器) 8
2.1 npm是什么 8
2.2 安装npm 9
2.3 安装模块 9
2.4 使用模块 10
2.5 如何找模块 11
2.5.1 官方来源 11
2.5.2 非官方来源 12
2.6 本地和全局的安装 13
2.6.1 本地安装 13
2.6.2 全局安装 13
2.7 如何找模块文档 14
2.8 使用package.json指定依赖关系(dependency) 14
2.9 小结 16
2.10 问与答 16
2.11 测验 16
2.11.1 问题 16
2.11.2 答案 17
2.12 练习 17
第3章 Node.js的作用 18
3.1 设计Node.js的目的 18
3.2 理解I/O 19
3.3 处理输入 19
3.4 联网的I/O是不可预测的 22
3.5 人类是不可预测的 24
3.6 处理不可预测性 25
3.7 小结 26
3.8 问与答 26
3.9 测验 27
3.9.1 问题 27
3.9.2 答案 27
3.10 练习 27
第4章 回调(Callback) 29
4.1 什么是回调 29
4.2 剖析回调 33
4.3 Node.js如何使用回调 34
4.4 同步和异步代码 36
4.5 事件循环 39
4.6 小结 39
4.7 问与答 39
4.8 测验 40
4.8.1 问题 40
4.8.2 答案 40
4.9 练习 40
第2部分 使用Node.js的基本网站
第5章 HTTP 44
5.1 什么是HTTP 44
5.2 使用Node.js的HTTP服务器 44
5.2.1 一个基础的服务器 44
5.2.2 加入头(Header) 45
5.2.3 检查响应头 46
5.2.4 Node.js中的重定向 49
5.2.5 响应不同的请求 50
5.3 使用Node.js的HTTP客户端 52
5.4 小结 53
5.5 问与答 53
5.6 测验 54
5.6.1 问题 54
5.6.2 答案 54
5.7 练习 54
第6章 Express介绍 55
6.1 什么是Express 55
6.2 为什么使用Express 55
6.3 安装Express 56
6.4 创建一个基础的Express站点 56
6.5 探索Express 58
6.5.1 app.js 58
6.5.2 node_modules 58
6.5.3 package.json 58
6.5.4 public 58
6.5.5 routes 58
6.5.6 views 58
6.6 介绍Jade 59
6.6.1 使用Jade定义页面结构 60
6.6.2 使用Jade输出数据 62
6.7 小结 68
6.8 问与答 68
6.9 测验 68
6.9.1 问题 69
6.9.2 答案 69
6.10 练习 69
第7章 深入Express 70
7.1 Web应用程序中的路由 70
7.2 在Express中路由如何工作 70
7.3 添加GET路由 71
7.4 添加POST路由 72
7.5 在路由中使用参数 73
7.6 让路由保持可维护性 74
7.7 视图渲染 75
7.8 使用本地变量 76
7.9 小结 78
7.10 问与答 78
7.11 测验 78
7.11.1 问题 79
7.11.2 答案 79
7.12 练习 79
第8章 数据的持久化 80
8.1 什么是持久的数据 80
8.2 将数据写入文件 81
8.3 从文件读取数据 82
8.4 读取环境变量 83
8.5 使用数据库 84
8.5.1 关系数据库 84
8.5.2 NoSQL数据库 85
8.6 在Node.js中使用MongoDB 85
8.6.1 安装MongoDB 86
8.6.2 连接MongoDB 87
8.6.3 定义文档 89
8.6.4 将Twitter Bootstrap包含进来 90
8.6.5 索引(Index)视图 91
8.6.6 创建(Create)视图 93
8.6.7 编辑视图 95
8.6.8 删除任务 98
8.6.9 添加闪出消息 99
8.6.10 验证输入的数据 101
8.7 小结 102
8.8 问与答 103
8.9 测验 103
8.9.1 问题 103
8.9.2 答案 103
8.10 练习 104
第3部分 调试、测试与部署
第9章 调试Node.js应用程序 106
9.1 调试 106
9.2 STDIO模块 107
9.3 Node.js调试器 111
9.4 Node Inspector 113
9.5 关于测试的注释 116
9.6 小结 116
9.7 问与答 116
9.8 测验 117
9.8.1 问题 117
9.8.2 答案 117
9.9 练习 117
第10章 测试Node.js应用程序 119
10.1 为什么测试 119
10.2 Assert(断言)模块 120
10.3 第三方测试工具 122
10.4 行为驱动的开发(Behavior Driven Development) 125
10.4.1 Vows 125
10.4.2 Mocha 128
10.5 小结 131
10.6 问与答 131
10.7 测验 132
10.7.1 问题 132
10.7.2 答案 132
10.8 练习 132
第11章 部署Node.js应用程序 133
11.1 准备好部署 133
11.2 在云上托管 133
11.3 Heroku 135
11.3.1 注册Heroku 135
11.3.2 为Heroku准备应用程序 136
11.3.3 将应用程序部署到Heroku 137
11.4 Cloud Foundry 138
11.4.1 注册Cloud Foundry 138
11.4.2 为Cloud Foundry准备应用程序 139
11.4.3 将应用程序部署到Cloud Foundry 140
11.5 Nodester 141
11.5.1 注册Nodester 141
11.5.2 为Nodester准备应用程序 142
11.5.3 将应用程序部署到Nodester 143
11.6 其他PaaS提供商 144
11.7 小结 144
11.8 问与答 144
11.9 测验 145
11.9.1 测验 145
11.9.2 答案 145
11.10 练习 145
第4部分 使用Node.js的中间站点
第12章 介绍Socket.IO 148
12.1 现在要开始学习一些完全不同的技术了 148
12.2 动态Web简史 148
12.3 Socket.IO 149
12.4 基础的Socket.IO示例 150
12.5 从服务器发送数据到客户端 152
12.6 将数据广播给客户端 156
12.7 双向数据 160
12.8 小结 163
12.9 问与答 163
12.10 测验 164
12.10.1 问题 164
12.10.2 答案 164
12.11 练习 165
第13章 一个Socket.IO聊天服务器 166
13.1 Express和Socket.IO 166
13.2 添加昵称 168
13.2.1 将昵称发送给服务器 169
13.2.2 管理昵称列表 171
13.2.3 使用回调来验证 174
13.2.4 广播昵称列表 178
13.2.5 添加消息收发功能 179
13.3 小结 183
13.4 问与答 184
13.5 测验 184
13.5.1 问题 184
13.5.2 答案 184
13.6 练习 185
第14章 一个流Twitter客户端 186
14.1 流API 186
14.2 注册Twitter 187
14.3 和Node.js一起使用Twitter的API 189
14.4 从数据中挖掘含义 191
14.5 将数据推送到浏览器 194
14.6 创建一个实时的爱恨表 197
14.7 小结 206
14.8 问与答 206
14.9 测验 206
14.9.1 问题 206
14.9.2 答案 206
14.10 练习 207
第15章 JSON API 208
15.1 API 208
15.2 JSON 209
15.3 使用Node.js发送JSON数据 211
15.4 从JavaScript对象创建JSON 212
15.5 使用Node.js消费JSON数据 213
15.6 使用Node.js创建JSON API 216
15.6.1 在Express中以JSON发送数据 216
15.6.2 构建应用程序 219
15.7 小结 224
15.8 问与答 225
15.9 测验 225
15.9.1 问题 225
15.9.2 答案 225
15.10 练习 226
第5部分 探索Node.js API
第16章 进程模块 228
16.1 进程是什么 228
16.2 退出进程以及进程中的错误 230
16.3 进程与信号 230
16.4 向进程发送信号 231
16.5 使用Node.js创建脚本 233
16.6 给脚本传递参数 234
16.7 小结 236
16.8 问与答 236
16.9 测验 237
16.9.1 问题 237
16.9.2 答案 237
16.10 练习 238
第17章 子进程模块 239
17.1 什么是子进程 239
17.2 杀死子进程 241
17.3 与子进程通信 242
17.4 集群(Cluster)模块 244
17.5 小结 246
17.6 问与答 246
17.7 测验 246
17.7.1 问题 246
17.7.2 答案 246
17.8 练习 247
第18章 事件模块 248
18.1 理解事件 248
18.2 通过HTTP演示事件 251
18.3 用事件玩乒乓 254
18.4 动态编写事件侦听器程序 255
18.5 小结 258
18.6 问与答 258
18.7 测验 259
18.7.1 问题 259
18.7.2 答案 259
18.8 练习 259
第19章 缓冲区模块 260
19.1 二进制数据初步 260
19.2 从二进制到文本 261
19.3 二进制和Node.js 262
19.4 Node.js中的缓冲区是什么? 264
19.5 写入缓冲区 265
19.6 向缓冲区追加数据 266
19.7 复制缓冲区 267
19.8 修改缓冲区中的字符串 267
19.9 小结 268
19.10 问与答 268
19.11 测验 268
19.11.1 问题 268
19.11.2 答案 269
19.12 练习 269
第20章 流模块 270
20.1 流简介 270
20.2 可读流 272
20.3 可写流 275
20.4 通过管道连接流 276
20.5 流的MP3 277
20.6 小结 278
20.7 问与答 278
20.8 测验 279
20.8.1 问题 279
20.8.2 答案 279
20.9 练习 279
第6部分 进一步的Node.js开发
第21章 CoffeeScript 282
21.1 什么是CoffeeScript 282
21.2 安装与运行CoffeeScript 284
21.3 为什么要使用预编译器 285
21.4 CoffeeScript的功能 286
21.4.1 最小语法 286
21.4.2 条件和比较 287
21.4.3 循环 288
21.4.4 字符串 289
21.4.5 对象 290
21.4.6 类、继承和super 291
21.5 调试CoffeeScript 294
21.6 对CoffeeScript的反应 294
21.7 小结 295
21.8 问与答 295
21.9 测验 296
21.9.1 问题 296
21.9.2 答案 296
21.10 练习 296
第22章 创建Node.js模块 298
22.1 为什么创建模块 298
22.2 流行的Node.js模块 298
22.3 package.json文件 299
22.4 文件夹结构 301
22.5 开发和测试模块 302
22.6 添加可执行文件 304
22.7 使用面向对象或者基于原型的编程 305
22.8 通过GitHub共享代码 306
22.9 使用Travis CI 307
22.10 发布到npm 309
22.11 公开模块 310
22.12 小结 310
22.13 问与答 310
22.14 测验 311
22.14.1 问题 311
22.14.2 答案 311
22.15 练习 311
第23章 使用Connect创建中间件 312
23.1 什么是中间件 312
23.2 Connect中的中间件 313
23.3 使用中间件的访问控制 317
23.4 按IP地址限制访问 319
23.5 将用户强制到单个域上 321322
23.6 小结 323324
23.7 问与答 324
23.8 测验 324
23.8.1 问题 324
23.8.2 答案 324325
23.9 练习 324325
第24章 结合使用Backbone.js与Node.js 326
24.1 什么是Backbone.js 326
24.2 Backbone.js如何工作 327
24.3 一个简单的Backbone.js视图 332
24.4 使用Backbone.js创建记录 336
24.5 小结 337
24.6 问与答 337
24.7 测验 338
24.7.1 问题 338
24.7.2 答案 338
24.8 练习 338