Node.js 实战 PDF 文档

发布于 2024-05-08 10:05:00 字数 6583 浏览 15 评论 0

本书是 Node.js 的实战教程,涵盖了为开发产品级 Node 应用程序所需要的一切特性、技巧以及相关理念。从搭建 Node 开发环境,到一些简单的演示程序,到开发复杂应用程序所必不可少的异步编程。书中还介绍了 HTTP API 的应用技巧等。

本书适合 Web 开发人员阅读。

本书的主要目的是教你学会如何创建和部署 Node 程序,重点是 Web 程序。本书中有相当一部分内容集中介绍了 Web 程序框架 Express 和中间件框架 Connect,主要是因为它们的用途和社区的支持。你还会学到如何创建自动化测试,以及如何部署你的程序。

本书面向希望用 Node.js 创建响应式、可伸缩程序的有经验的 Web 程序开发人员。因为 Node.js 程序是用 JavaScript 写的,所以需要你掌握这门语言。此外最好还要熟悉 Windows、OS X 或 Linux 命令行。

目录
第一部分 Node 基础
第 1 章 欢迎进入 Node.js 世界
1.1 构建于 JavaScript 之上
1.2 异步和事件触发:浏览器
1.3 异步和事件触发:服务器
1.4 DIRT 程序
1.5 默认 DIRT
1.5.1 简单的异步程序
1.5.2 Hello World HTTP 服务器
1.5.3 流数据
1.6 小结
第 2 章 构建有多个房间的聊天室程序
2.1 程序概览
2.2 程序需求及初始设置
2.2.1 提供 HTTP 和 WebSocket 服务
2.2.2 创建程序的文件结构
2.2.3 指明依赖项
2.2.4 安装依赖项
2.3 提供 HTML、CSS 和客户端 JavaScript 的服务
2.3.1 创建静态文件服务器
2.3.2 添加 HTML 和 CSS 文件
2.4 用 Socket.IO 处理与聊天相关的消息
2.4.1 设置 Socket.IO 服务器
2.4.2 处理程序场景及事件
2.5 在程序的用户界面上使用客户端 JavaScript
2.5.1 将消息和昵称/房间变更请求传给服务器
2.5.2 在用户界面中显示消息及可用房间
2.6 小结
第 3 章 Node 编程基础
3.1 Node 功能的组织及重用
3.1.1 创建模块
3.1.2 用 module.exports 微调模块的创建
3.1.3 用 node_modules 重用模块
3.1.4 注意事项
3.2 异步编程技术
3.2.1 用回调处理一次性事件
3.2.2 用事件发射器处理重复性事件
3.2.3 异步开发的难题
3.3 异步逻辑的顺序化
3.3.1 什么时候使用串行流程控制
3.3.2 实现串行化流程控制
3.3.3 实现并行化流程控制
3.3.4 利用社区里的工具
3.4 小结
第二部分 用 Node 开发 Web 程序
第 4 章 构建 Node Web 程序
4.1 HTTP 服务器的基础知识
4.1.1 Node 如何向开发者呈现 HTTP 请求
4.1.2 一个用“Hello World”做响应的 HTTP 服务器
4.1.3 读取请求头及设定响应头
4.1.4 设定 HTTP 响应的状态码
4.2 构建 RESTful Web 服务
4.2.1 用 POST 请求创建资源
4.2.2 用 GET 请求获取资源
4.2.3 用 DELETE 请求移除资源
4.3 提供静态文件服务
4.3.1 创建一个静态文件服务器
4.3.2 处理服务器错误
4.3.3 用 fs.stat() 实现先发制人的错误处理
4.4 从表单中接受用户输入
4.4.1 处理提交的表单域
4.4.2 用 formidable 处理上传的文件
4.4.3 计算上传进度
4.5 用 HTTPS 加强程序的安全性
4.6 小结
第 5 章 存储 Node 程序中的数据
5.1 无服务器的数据存储
5.1.1 内存存储
5.1.2 基于文件的存储
5.2 关系型数据库管理系统
5.2.1 MySQL
5.2.2 PostgreSQL
5.3 NoSQL 数据库
5.3.1 Redis
5.3.2 MongoDB
5.3.3 Mongoose
5.4 小结
第 6 章 Connect
6.1 搭建一个 Connect 程序
6.2 Connect 的工作机制
6.2.1 做日志的中间件
6.2.2 响应“hello world”的中间件
6.3 为什么中间件的顺序很重要
6.3.1 中间件什么时候不调用 next()
6.3.2 用中间件的顺序执行认证
6.4 挂载中间件和服务器
6.4.1 认证中间件
6.4.2 显示管理面板的中间件
6.5 创建可配置中间件
6.5.1 创建可配置的 logger 中间件组件
6.5.2 构建路由中间件组件
6.5.3 构建一个重写 URL 的中间件组件
6.6 使用错误处理中间件
6.6.1 Connect 的默认错误处理器
6.6.2 自行处理程序错误
6.6.3 使用多个错误处理中间件组件
6.7 小结
第 7 章 Connect 自带的中间件
7.1 解析 cookie、请求主体和查询字符串的中间件
7.1.1 cookieParser():解析 HTTP cookie
7.1.2 bodyParser():解析请求主体
7.1.3 limit():请求主体的限制
7.1.4 query():查询字符串解析
7.2 实现 Web 程序核心功能的中间件
7.2.1 logger():记录请求
7.2.2 favicon():提供 favicon
7.2.3 methodOverride():伪造 HTTP 方法
7.2.4 vhost():虚拟主机
7.2.5 session():会话管理
7.3 处理 Web 程序安全的中间件
7.3.1 basicAuth():HTTP 基本认证
7.3.2 csrf():跨站请求伪造防护
7.3.3 errorHandler():开发错误处理
7.4 提供静态文件服务的中间件
7.4.1 static():静态文件服务
7.4.2 compress():压缩静态文件
7.4.3 directory():目录列表
7.5 小结
第 8 章 Express
8.1 生成程序骨架
8.1.1 安装 Express 的可执行程序
8.1.2 生成程序
8.1.3 探索程序
8.2 配置 Express 和你的程序
基于环境的配置
8.3 渲染视图
8.3.1 视图系统配置
8.3.2 视图查找
8.3.3 把数据输出到视图中
8.4 处理表单和文件上传
8.4.1 实现照片模型
8.4.2 创建照片上传表单
8.4.3 显示上传照片列表
8.5 创建资源下载
8.5.1 创建照片下载路由
8.5.2 实现照片下载路由
8.6 小结
第 9 章 Express 进阶
9.1 认证用户
9.1.1 保存和加载用户
9.1.2 注册新用户
9.1.3 已注册用户登录
9.1.4 用户加载中间件
9.2 先进的路由技术
9.2.1 校验用户内容提交
9.2.2 特定路由中间件
9.2.3 实现分页
9.3 创建一个公开的 REST API
9.3.1 设计 API
9.3.2 添加基本的认证
9.3.3 实现路由
9.3.4 启用内容协商
9.4 错误处理
9.4.1 处理 404 错误
9.4.2 处理错误
9.5 小结
第 10 章 测试 Node 程序
10.1 单元测试
10.1.1 assert 模块
10.1.2 Nodeunit
10.1.3 Mocha
10.1.4 Vows
10.1.5 should.js
10.2 验收测试
10.2.1 Tobi
10.2.2 Soda
10.3 小结
第 11 章 Web 程序模板
11.1 用模板保持代码的整洁性
模板实战
11.2 嵌入 JavaScript 的模板
11.2.1 创建模板
11.2.2 用 EJS 过滤器处理模板数据
11.2.3 将 EJS 集成到你的程序中
11.2.4 在客户端程序中使用 EJS
11.3 使用 Mustache 模板语言与 Hogan
11.3.1 创建模板
11.3.2 Mustache 标签
11.3.3 微调 Hogan
11.4 用 Jade 做模板
11.4.1 Jade 基础知识
11.4.2 Jade 模板中的逻辑
11.4.3 组织 Jade 模板
11.5 小结
第三部分 在 Node 中更进一步
第 12 章 部署 Node 程序并维持正常 运行时间
12.1 安置 Node 程序
12.1.1 专用的和虚拟私有服务器
12.1.2 云主机
12.2 部署的基础知识
12.2.1 从 Git 存储库部署
12.2.2 让 Node 保持运行
12.3 让正常运行时间和性能达到最优
12.3.1 用 Upstart 维护正常运行时间
12.3.2 集群 API:利用多核的优势
12.3.3 静态文件及代理
12.4 小结
第 13 章 超越 Web 服务器
13.1 Socket.IO
13.1.1 创建一个最小的 Socket.IO 程序
13.1.2 用 Socket.IO 触发页面和 CSS 的重新加载
13.1.3 Socket.IO 的其他用法
13.2 深入 TCP/IP 网络
13.2.1 处理缓冲区和二进制数据
13.2.2 创建 TCP 服务器
13.2.3 创建 TCP 客户端
13.3 跟操作系统交互的工具
13.3.1 单例的全局 process 对象
13.3.2 使用文件系统模块
13.3.3 繁衍外部进程
13.4 开发命令行工具
13.4.1 解析命令行参数
13.4.2 处理 stdin 和 stdout
13.4.3 添加彩色的输出
13.5 小结
第 14 章 Node 生态系统
14.1 给 Node 开发人员的在线资源
14.1.1 Node 和模块的参考资料
14.1.2 Google 群组
14.1.3 IRC
14.1.4 GitHub 问题列表
14.2 GitHub
14.2.1 GitHub 入门
14.2.2 添加一个项目到 GitHub 中
14.2.3 用 GitHub 协作
14.3 为 npm 库做贡献
14.3.1 准备包
14.3.2 编写包规范
14.3.3 测试和发布包
14.4 小结
附录 A
安装 Node 和社区附加组件
A.1 在 OS X 上的安装
用 Homebrew 安装
A.2 在 Windows 上的安装
A.3 在 Linux 上的安装
A.3.1 在 Ubuntu 上安装的前提
A.3.2 在 CentOS 上安装的前提
A.4 编译 Node
A.5 使用 Node 包管理器
A.5.1 寻找包
A.5.2 安装包
A.5.3 探索文档和包代码
附录 B
调试 Node
B.1 用 JSHint 分析代码
B.2 输出调试信息
B.2.1 用 console 模块调试
B.2.2 用 debug 模块管理调试输出
B.3 Node 内置的调试器
B.3.1 调试器导览
B.3.2 调试器中状态的检查及处理
B.4 Node 检查器
B.4.1 Node 检查器入门
B.4.2 Node 检查器导航
B.4.3 在 Node 检查器中浏览状态
附录 C
Express 的扩展及配置
C.1 扩展 Express
C.1.1 注册模板引擎
C.1.2 consolidate.js 模板
C.1.3 Express 的扩展及框架
C.2 高级配置
C.2.1 操作 JSON 响应
C.2.2 JSON 响应格式
C.2.3 信任反向代理头域

下载地址:https://www.wenjiangs.com/wp-content/uploads/2024/01/ov1qGReRW0TyY6eK.zip

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

文章
评论
84962 人气
更多

推荐作者

泪是无色的血

文章 0 评论 0

yriii2

文章 0 评论 0

1649543945

文章 0 评论 0

g红火

文章 0 评论 0

嘿哥们儿

文章 0 评论 0

旧城烟雨

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文