领域的著作,由拥有20余年开发经验的Web技术专家、Google高级工程师兼畅销书作家撰写;
系统讲解Node.js基础知识、核心概念和高级特性,同时包含大量案例和实践,是目前真正适合系统学习和进阶修炼的Node.js实战教程
《Node.js实战》是Node.js领域的权威著作,作者拥有20余年Web开发经验,是Google的高级工程师,也是畅销技术图书作家。它不仅适合初学者系统学习,而且适合有一定基础的读者进阶修炼,因为它不仅系统讲解了Node.js的所有基础知识和核心概念,同时还讲解了Node.js的高级特性和最佳实践。此外,本书还包含大量精心设计的、颇具实践指导意义的案例。
《Node.js实战》全书共12章,分为四部分: 基础篇(1~3章)具体介绍了Node.js的安装、JavaScript语言在V8引擎和Node.js中的应用,以及Node.js的异步编程;提高篇(4~6章)详细讲解了如何编写Node.js应用和模块,以及如何扩展Web服务器;实战篇(7~9章)则讲解了强大的工具和模块,如Express、NoSQL(MongoDB)和SQL(MySQL)等;进阶篇(10~12章)深入讲解了如何在生产环境中运行应用程序,如何测试代码,以及如何使用Node.js编写命令行实用程序。
第一部分
基 础 篇
第1章 入门
第2章 进一步了解JavaScript
第3章 异步编程
第1章
入 门
在本章中,我们会开始投入到相关的学习中,并在电脑上安装Node.js。在继续深入学习语言和编写网络应用之前,要确保Node.js能正常运行。本章的最后,应该已经成功地在电脑上安装Node.js并正常运行。我们还会使用一些小的测试程序来熟悉它,以及学会如何使用内置的Node调试器。
1.1 安装Node.js
首先,让我们来看看如何在Windows下安装Node。除非同时拥有Windows操作系统,否则Mac和Linux用户可以跳过本节,去阅读相应的章节。
1.1.1 在Windows上安装
要想在Windows电脑上安装Node.js,可以使用nodejs.org网站上提供的简易安装程序。可以访问下载页面,然后选择32位或者64位的Node.js安装程序(.msi)。当然,这完全取决于运行Node的操作系统。我们将会展示Windows 7/64位操作系统下Node.js的安装过程。
下载完MSI文件之后,双击该文件,将会看到如图1.1所示的安装程序界面。
阅读并同意授权协议之后,点击安装(Install)。安装过程非常快捷和方便,几十秒之后,点击完成(Finish)结束安装。
验证安装
为了测试Node.js是否正确安装,你可以使用Windows命令提示符cmd.exe(如果使用PowerShell,也是可行的)。如果你对此不熟悉的话,可以先找到开始(Start)/运行(Run),然后输入cmd,如图1.2所示。
图1.1 Windows下的Node安装程序
……
目 录
译者序
前 言
第一部分 基础篇
第1章 入门
1.1 安装Node.js
1.1.1 在Windows上安装
1.1.2 在Mac上安装
1.1.3 在Linux上安装
1.2 "Hello World!"
1.2.1 Node Shell
1.2.2 编辑并运行JavaScript文件
1.3 第一个Web服务器
1.4 调试Node.js程序
1.5 保持最新及获取帮助
1.6 小结
第2章 进一步了解JavaScript
2.1 数据类型
2.1.1 类型基础
2.1.2 常量
2.1.3 number类型
2.1.4 boolean类型
2.1.5 string类型
2.1.6 object类型
2.1.7 array类型
2.2 类型比较和转换
2.3 函数
2.3.1 基本概念
2.3.2 函数作用域
2.4 语言结构
2.5 类、原型和继承
2.6 错误和异常
2.7 几个重要的Node.js全局对象
2.7.1 global对象
2.7.2 console对象
2.7.3 process对象
2.8 小结
第3章 异步编程
3.1 传统编程方式
3.2 Node.js的编程方式
3.3 错误处理和异步函数
3.4 我是谁--如何维护本体
3.5 保持优雅--学会放弃控制权
3.6 同步函数调用
3.7 小结
第二部分 提高篇
第4章 编写简单应用
4.1 第一个JSON服务器
4.2 Node模式:异步循环
4.3 小戏法:处理更多的请求
4.4 请求和响应对象的更多细节
4.5 提高灵活性:GET参数
4.6 修改内容:POST数据
4.6.1 接收JSON POST数据
4.6.2 接收表单POST数据
4.7 小结
第5章 模块化
5.1 编写简单模块
5.2 npm:Node包管理器
5.3 使用模块
5.3.1 查找模块
5.3.2 模块缓存
5.3.3 循环
5.4 编写模块
5.4.1 创建模块
5.4.2 使用模块进行开发
5.4.3 发布模块
5.5 应当内置的通用模块
5.5.1 常见问题
5.5.2 解决方案
5.6 小结
第6章 扩展Web服务器
6.1 使用Stream处理静态内容
6.1.1 读取文件
6.1.2 在Web服务器中使用Buffer处理静态文件
6.1.3 不仅仅支持HTML
6.2 在客户端组装内容:模板
6.2.1 HTML骨架页面
6.2.2 处理静态内容
6.2.3 修改URL解析机制
6.2.4 JavaScript加载器
6.2.5 使用Mustache模板化
6.2.6 首页Mustache模板
6.2.7 整合应用
6.3 小结
第三部分 实战篇
第7章 使用express构建Web应用
7.1 安装express
7.2 express中的路由和分层
7.2.1 路由基础
7.2.2 更新相册应用路由
7.3 REST API设计和模块
7.3.1 API设计
7.3.2 模块
7.4 中间件功能
7.4.1 基本用法
7.4.2 配置
7.4.3 中间件执行顺序
7.4.4 静态文件处理
7.4.5 POST数据、cookie和session
7.4.6 对PUT和DELETE更友好的浏览器支持
7.4.7 压缩输出
7.4.8 HTTP基本身份验证
7.4.9 错误处理
7.5 小结
第8章 数据库I:NoSQL(MongoDB)
8.1 设置MongoDB
8.1.1 安装MongoDB
8.1.2 在Node.js中使用MongoDB
8.2 MongoDB数据结构
8.2.1 全是JavaScript的世界
8.2.2 数据类型
8.3 理解基本操作
8.3.1 连接并创建数据库
8.3.2 创建集合
8.3.3 向集合中插入文档
8.3.4 更新文档内容
8.3.5 删除集合中的文档
8.3.6 查询集合
8.4 更新相册应用
8.4.1 编写基本操作
8.4.2 修改JSON服务器的API
8.4.3 更新处理程序
8.4.4 为应用添加新页面
8.5 应用结构回顾
8.6 小结
第9章 数据库II:SQL(MySQL)
9.1 准备工作
9.1.1 安装MySQL
9.1.2 从npm添加mysql模块
9.2 创建数据库模式
9.3 基本数据库操作
9.3.1 连接数据库
9.3.2 添加查询
9.4 添加应用身份验证
9.4.1 更新API以支持用户
9.4.2 检测核心用户数据操作
9.4.3 更新express应用
9.4.4 创建用户处理程序
9.4.5 创建登录和注册页面
9.5 资源池
9.5.1 入门
9.5.2 处理连接
9.6 验证API
9.7 小结
第四部分 进阶篇
第10章 部署和开发
10.1 部署
10.1.1 级别:基础
10.1.2 级别:Ninja
10.2 多处理器部署:使用代理
10.3 虚拟主机
10.3.1 内置支持
10.3.2 代理服务器支持
10.4 使用HTTPS/SSL保障项目安全
10.4.1 生成测试证书
10.4.2 内置支持
10.4.3 代理服务器支持
10.5 多平台开发
10.5.1 位置和配置文件
10.5.2 处理路径差异
10.6 小结
第11章 命令行编程
11.1 运行命令行脚本
11.1.1 UNIX和Mac
11.1.2 Windows
11.1.3 脚本和参数
11.2 同步处理文件
11.2.1 基本文件API
11.2.2 文件和状态
11.2.3 目录内容
11.3 用户交互:标准输入和输出
11.3.1 基本缓冲输入和输出
11.3.2 无缓冲输入
11.3.3 Readline模块
11.4 进程处理
11.4.1 简单进程创建
11.4.2 使用Spawn创建进程
11.5 小结
第12章 测试
12.1 测试框架选择
12.2 编写测试用例
12.2.1 简单功能测试
12.2.2 异步功能测试
12.3 RESTful API测试
12.4 小结