Node学习指南 第2版

作者
谢利·鲍尔斯(Shelley Powers)
丛书名
出版社
人民邮电出版社
ISBN
9787115505415
简要
简介
内容简介书籍计算机书籍 Node.js是一套用来编写高性能网络服务器的JavaScript工具包。它可以让JavaScript在服务器端运行,因此,它可用来快速构建网络服务及应用的平台。 本书是学习Node编程的入门指南。全书共12章,由浅入深。本书首先介绍Node的基础知识、Node的核心功能、Node的模块系统和REPL等,然后讲解Node的Web应用、流和管道、Node对文件系统的支持、网络和套接字、子进程、ES6等相关知识,*后介绍了全栈Node编程、Node的开发环境和产品环境以及Node的新应用。 本书适合有一定基础的JavaScript程序员阅读,也适合对学习Node应用开发感兴趣的读者学习参考。
目录
第 1章 Node运行环境\t1


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







有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4