书籍详情
Node学习指南(第2版)
作者:谢利·鲍尔斯(Shelley Powers) 著,曹隆凯,娄佳 译
出版社:人民邮电出版社
出版时间:2019-10-01
ISBN:9787115505415
定价:¥69.00
购买这本书可以去
内容简介
Node.js是一套用来编写高性能网络服务器的JavaScript工具包。它可以让JavaScript在服务器端运行,因此,它可用来快速构建网络服务及应用的平台。本书是学习Node编程的入门指南。全书共12章,由浅入深。本书首先介绍Node的基础知识、Node的核心功能、Node的模块系统和REPL等,然后讲解Node的Web应用、流和管道、Node对文件系统的支持、网络和套接字、子进程、ES6等相关知识,最后介绍了全栈Node编程、Node的开发环境和产品环境以及Node的新应用。本书适合有一定基础的JavaScript程序员阅读,也适合对学习Node应用开发感兴趣的读者学习参考。
作者简介
Shelley Powers一直从事Web技术相关的工作,并为此著书。她的著作的内容涉及很多方面,从JavaScript的**个版本到*新的图像和设计工具。她*近出版的图书涵盖语义网、Ajax、JavaScript和网络图像等内容。
目录
第 1章 Node运行环境1
1.1 安装Node 1
1.2 使用Node编写“Hello, World” 3
1.2.1 一个基本的Hello World程序 3
1.2.2 升级版Hello World 6
1.2.3 Node命令行参数 9
1.3 Node部署环境 10
1.3.1 将Node部署在你的服务器、VPS或者托管主机上 10
1.3.2 云部署 10
1.4 Node长期支持和Node升级 11
1.4.1 Node的最新语义化版本规范 12
1.4.2 Node版本更新 13
1.5 Node、V8和ES6 14
1.6 高级内容:Node的C C++插件 15
第 2章 Node基础:全局对象、事件和Node自身的异步特性 18
2.1 global和process对象 19
2.1.1 global对象 19
2.1.2 process对象 20
2.2 缓冲器(buffer)、类型化数组和字符串 24
2.2.1 缓冲器、JSON、StringDecoder和UTF-8字符串 26
2.2.2 缓冲器操作 28
2.3 Node的回调函数和异步事件处理 31
2.3.1 事件队列(循环) 31
2.3.2 创建一个异步回调函数 35
2.3.3 EventEmitter 37
2.3.4 Node事件循环和定时器 41
2.4 嵌套回调和异常处理 44
第3章 Node模块和Node包管理器(npm)基础 52
3.1 Node模块系统概览 52
3.1.1 Node如何查找并加载一个模块 53
3.1.2 沙箱和虚拟机模块 56
3.2 NPM的深度挖掘 60
3.3 创建和发布你自己的Node模块 65
3.3.1 创建一个模块 65
3.3.2 将整个目录打包 66
3.3.3 准备发布一个模块 67
3.3.4 发布模块 70
3.4 探索Node模块以及3个必要模块 71
3.4.1 使用Async来更好地管理回调函数 73
3.4.2 使用Commander玩转命令行 78
3.4.3 无所不在的Underscore 80
第4章 交互式Node和REPL,以及控制台的深入研究 82
4.1 REPL的初体验和undefined表达式 82
4.2 REPL的好处:深入理解JavaScript引擎 84
4.3 更复杂的多行JavaScript 85
4.3.1 REPL命令 89
4.3.2 REPL和rlwrap 89
4.3.3 自定义REPL 91
4.4 世事无常——经常保存 94
4.5 控制台的必要性 95
4.5.1 控制台消息类型、Console类以及阻塞 95
4.5.2 使用util.format()和util.inspect()来格式化消息 97
4.5.3 用控制台和定时器提供更丰富的反馈 101
第5章 Node和Web 102
5.1 HTTP模块:服务器(server)和客户端(client) 102
5.2 创建一个静态网站服务器都需要什么 107
5.3 使用Apache来代理Node服务器 115
5.4 使用Query String来解析参数 117
5.5 DNS解析 118
第6章 Node和本地系统 120
6.1 探索操作系统 120
6.2 流(Stream)和管道(Pipe) 122
6.3 文件系统的正式介绍 123
6.3.1 fs.Stats类 124
6.3.2 文件系统监听器 126
6.3.3 文件读取和写入 127
6.3.4 目录的访问和维护 128
6.3.5 文件流 129
6.4 通过路径访问资源 131
6.5 创建一个命名行工具 133
6.6 使用ZLib进行压缩 解压缩 135
6.7 管道和ReadLine模块 138
第7章 网络、套接字和安全 141
7.1 服务器、流和套接字 141
7.1.1 套接字和流 141
7.1.2 TCP套接字和服务器 142
7.1.3 UDP 数据报套接字 147
7.2 守门人 148
7.2.1 安装TLS SSL 149
7.2.2 使用HTTPS 150
7.2.3 Crypto模块 152
第8章 子进程 157
8.1 child_process.spawn 157
8.1.1 child_process.exec和child_process.execFile 161
8.1.2 child_process.fork 163
8.2 在Windows中运行一个子进程程序 164
第9章 Node和ES6 167
9.1 严格模式 167
9.2 let和const 169
9.3 箭头函数 171
9.4 类 173
9.5 使用Bluebird来实现promise 175
第 10章 全栈Node开发 179
10.1 Express应用框架 179
10.2 MongoDB和Redis数据库系统 185
10.2.1 MongoDB 186
10.2.2 Redis中的key value存储 189
10.3 AngularJS和其他全栈框架 196
第 11章 Node开发环境和产品环境 202
11.1 调试Node程序 202
11.1.1 Node调试器 202
11.1.2 Node检查器 207
11.2 单元测试 210
11.2.1 使用Assert进行单元测试 210
11.2.2 用Nodeunit写单元测试 213
11.2.3 其他的测试框架 215
11.3 保持Node进程的运行 218
11.4 使用Apache Bench进行基准测试和负载测试 221
第 12章 新环境中的Node 224
12.1 三星的IoT和GPIO 224
12.2 Windows与Chakra Node 226
12.3 微控制器和微型计算机中的Node 227
12.3.1 Fritzing 228
12.3.2 Node和Arduino 232
12.3.3 Node和树莓派2 238
1.1 安装Node 1
1.2 使用Node编写“Hello, World” 3
1.2.1 一个基本的Hello World程序 3
1.2.2 升级版Hello World 6
1.2.3 Node命令行参数 9
1.3 Node部署环境 10
1.3.1 将Node部署在你的服务器、VPS或者托管主机上 10
1.3.2 云部署 10
1.4 Node长期支持和Node升级 11
1.4.1 Node的最新语义化版本规范 12
1.4.2 Node版本更新 13
1.5 Node、V8和ES6 14
1.6 高级内容:Node的C C++插件 15
第 2章 Node基础:全局对象、事件和Node自身的异步特性 18
2.1 global和process对象 19
2.1.1 global对象 19
2.1.2 process对象 20
2.2 缓冲器(buffer)、类型化数组和字符串 24
2.2.1 缓冲器、JSON、StringDecoder和UTF-8字符串 26
2.2.2 缓冲器操作 28
2.3 Node的回调函数和异步事件处理 31
2.3.1 事件队列(循环) 31
2.3.2 创建一个异步回调函数 35
2.3.3 EventEmitter 37
2.3.4 Node事件循环和定时器 41
2.4 嵌套回调和异常处理 44
第3章 Node模块和Node包管理器(npm)基础 52
3.1 Node模块系统概览 52
3.1.1 Node如何查找并加载一个模块 53
3.1.2 沙箱和虚拟机模块 56
3.2 NPM的深度挖掘 60
3.3 创建和发布你自己的Node模块 65
3.3.1 创建一个模块 65
3.3.2 将整个目录打包 66
3.3.3 准备发布一个模块 67
3.3.4 发布模块 70
3.4 探索Node模块以及3个必要模块 71
3.4.1 使用Async来更好地管理回调函数 73
3.4.2 使用Commander玩转命令行 78
3.4.3 无所不在的Underscore 80
第4章 交互式Node和REPL,以及控制台的深入研究 82
4.1 REPL的初体验和undefined表达式 82
4.2 REPL的好处:深入理解JavaScript引擎 84
4.3 更复杂的多行JavaScript 85
4.3.1 REPL命令 89
4.3.2 REPL和rlwrap 89
4.3.3 自定义REPL 91
4.4 世事无常——经常保存 94
4.5 控制台的必要性 95
4.5.1 控制台消息类型、Console类以及阻塞 95
4.5.2 使用util.format()和util.inspect()来格式化消息 97
4.5.3 用控制台和定时器提供更丰富的反馈 101
第5章 Node和Web 102
5.1 HTTP模块:服务器(server)和客户端(client) 102
5.2 创建一个静态网站服务器都需要什么 107
5.3 使用Apache来代理Node服务器 115
5.4 使用Query String来解析参数 117
5.5 DNS解析 118
第6章 Node和本地系统 120
6.1 探索操作系统 120
6.2 流(Stream)和管道(Pipe) 122
6.3 文件系统的正式介绍 123
6.3.1 fs.Stats类 124
6.3.2 文件系统监听器 126
6.3.3 文件读取和写入 127
6.3.4 目录的访问和维护 128
6.3.5 文件流 129
6.4 通过路径访问资源 131
6.5 创建一个命名行工具 133
6.6 使用ZLib进行压缩 解压缩 135
6.7 管道和ReadLine模块 138
第7章 网络、套接字和安全 141
7.1 服务器、流和套接字 141
7.1.1 套接字和流 141
7.1.2 TCP套接字和服务器 142
7.1.3 UDP 数据报套接字 147
7.2 守门人 148
7.2.1 安装TLS SSL 149
7.2.2 使用HTTPS 150
7.2.3 Crypto模块 152
第8章 子进程 157
8.1 child_process.spawn 157
8.1.1 child_process.exec和child_process.execFile 161
8.1.2 child_process.fork 163
8.2 在Windows中运行一个子进程程序 164
第9章 Node和ES6 167
9.1 严格模式 167
9.2 let和const 169
9.3 箭头函数 171
9.4 类 173
9.5 使用Bluebird来实现promise 175
第 10章 全栈Node开发 179
10.1 Express应用框架 179
10.2 MongoDB和Redis数据库系统 185
10.2.1 MongoDB 186
10.2.2 Redis中的key value存储 189
10.3 AngularJS和其他全栈框架 196
第 11章 Node开发环境和产品环境 202
11.1 调试Node程序 202
11.1.1 Node调试器 202
11.1.2 Node检查器 207
11.2 单元测试 210
11.2.1 使用Assert进行单元测试 210
11.2.2 用Nodeunit写单元测试 213
11.2.3 其他的测试框架 215
11.3 保持Node进程的运行 218
11.4 使用Apache Bench进行基准测试和负载测试 221
第 12章 新环境中的Node 224
12.1 三星的IoT和GPIO 224
12.2 Windows与Chakra Node 226
12.3 微控制器和微型计算机中的Node 227
12.3.1 Fritzing 228
12.3.2 Node和Arduino 232
12.3.3 Node和树莓派2 238
猜您喜欢