在好例子网,分享、交流、成长!
您当前所在位置:首页js 开发实例JavaScript基础 → 《node.js实战》.pdf以及nodejs随书源码

《node.js实战》.pdf以及nodejs随书源码

JavaScript基础

下载此实例
  • 开发语言:js
  • 实例大小:16.64M
  • 下载次数:68
  • 浏览次数:450
  • 发布时间:2018-03-15
  • 实例类别:JavaScript基础
  • 发 布 人:不倒翁Web
  • 文件格式:.zip
  • 所需积分:2
 相关标签: js d NodeJS s

实例介绍

【实例简介】

【实例截图】


from clipboard

from clipboard


from clipboard


from clipboard


from clipboard


随书源码如下:

from clipboard

【核心代码】


第一部分 Node基础
第 1 章 欢迎进入 Node.js 世界.....................2
1.1 构建于 JavaScript 之上..............................3
1.2 异步和事件触发:浏览器.........................4
1.3 异步和事件触发:服务器.........................5
1.4 DIRT 程序..................................................6
1.5 默认 DIRT .................................................8
1.5.1 简单的异步程序.............................9
1.5.2 Hello World HTTP 服务器...........10
1.5.3 流数据..........................................10
1.6 小结 .........................................................11
第 2 章 构建有多个房间的聊天室程序......12
2.1 程序概览..................................................12
2.2 程序需求及初始设置...............................15
2.2.1 提供 HTTP 和 WebSocket
服务..............................................15
2.2.2 创建程序的文件结构...................16
2.2.3 指明依赖项 ..................................16
2.2.4 安装依赖项 ..................................17
2.3 提供 HTML、CSS 和客户端 JavaScript
的服务......................................................18
2.3.1 创建静态文件服务器...................19
2.3.2 添加 HTML 和 CSS 文件 .............21
2.4 用 Socket.IO 处理与聊天相关的消息......23
2.4.1 设置 Socket.IO 服务器.................24
2.4.2 处理程序场景及事件...................25
2.5 在程序的用户界面上使用客户端
JavaScript.................................................29
2.5.1 将消息和昵称/房间变更请求
传给服务器..................................29
2.5.2 在用户界面中显示消息及可
用房间..........................................30
2.6 小结 .........................................................34
第 3 章 Node 编程基础.................................35
3.1 Node 功能的组织及重用 .........................36
3.1.1 创建模块......................................37
3.1.2 用 module.exports 微调模块的
创建 .............................................39
3.1.3 用 node_modules 重用模块..........40
3.1.4 注意事项......................................41
3.2 异步编程技术..........................................42
3.2.1 用回调处理一次性事件...............43
3.2.2 用事件发射器处理重复性事
件 .................................................46
3.2.3 异步开发的难题 ..........................53
3.3 异步逻辑的顺序化 ..................................54
3.3.1 什么时候使用串行流程控制 .......55
3.3.2 实现串行化流程控制...................56
3.3.3 实现并行化流程控制...................58
3.3.4 利用社区里的工具.......................60
3.4 小结 .........................................................61
第二部分 用Node开发Web程序
第 4 章 构建 Node Web 程序......................64
4.1 HTTP 服务器的基础知识........................64
4.1.1 Node 如何向开发者呈现 HTTP
请求 .............................................65
图灵社区会员 quqingtao 专享 尊重版权
2 目 录
4.1.2 一个用“Hello World”做响
应的 HTTP 服务器.......................67
4.1.3 读取请求头及设定响应头 ...........67
4.1.4 设定 HTTP 响应的状态码 ...........67
4.2 构建 RESTful Web 服务..........................68
4.2.1 用 POST 请求创建资源 ...............69
4.2.2 用 GET 请求获取资源 .................71
4.2.3 用 DELETE 请求移除资源 ..........72
4.3 提供静态文件服务 ..................................73
4.3.1 创建一个静态文件服务器 ...........73
4.3.2 处理服务器错误 ..........................77
4.3.3 用 fs.stat()实现先发制人
的错误处理..................................77
4.4 从表单中接受用户输入...........................78
4.4.1 处理提交的表单域.......................78
4.4.2 用 formidable 处理上传的
文件 .............................................81
4.4.3 计算上传进度 ..............................84
4.5 用 HTTPS 加强程序的安全性.................85
4.6 小结 .........................................................86
第 5 章 存储 Node 程序中的数据 ..............87
5.1 无服务器的数据存储 ..............................88
5.1.1 内存存储......................................88
5.1.2 基于文件的存储 ..........................88
5.2 关系型数据库管理系统...........................91
5.2.1 MySQL ........................................91
5.2.2 PostgreSQL ..................................99
5.3 NoSQL 数据库.......................................100
5.3.1 Redis ..........................................101
5.3.2 MongoDB...................................105
5.3.3 Mongoose...................................107
5.4 小结 .......................................................109
第 6 章 Connect...........................................110
6.1 搭建一个 Connect 程序 .........................111
6.2 Connect 的工作机制..............................112
6.2.1 做日志的中间件 ........................112
6.2.2 响应“hello world”的中间
件 ...............................................113
6.3 为什么中间件的顺序很重要.................114
6.3.1 中间件什么时候不调用
next() ...................................... 114
6.3.2 用中间件的顺序执行认证......... 115
6.4 挂载中间件和服务器 ............................ 115
6.4.1 认证中间件................................ 116
6.4.2 显示管理面板的中间件............. 117
6.5 创建可配置中间件................................ 118
6.5.1 创建可配置的 logger 中间件
组件 ........................................... 119
6.5.2 构建路由中间件组件................. 120
6.5.3 构建一个重写 URL 的中间件
组件 ........................................... 122
6.6 使用错误处理中间件 ............................ 123
6.6.1 Connect 的默认错误处理器....... 124
6.6.2 自行处理程序错误 .................... 124
6.6.3 使用多个错误处理中间件
组件 ........................................... 125
6.7 小结....................................................... 129
第 7 章 Connect 自带的中间件................ 130
7.1 解析 cookie、请求主体和查询字符串
的中间件 ............................................... 131
7.1.1 cookieParser():解析
HTTP cookie.............................. 131
7.1.2 bodyParser():解析请求
主体 ........................................... 134
7.1.3 limit():请求主体的限制...... 135
7.1.4 query():查询字符串解析...... 137
7.2 实现 Web 程序核心功能的中间件........ 138
7.2.1 logger():记录请求............... 138
7.2.2 favicon():提供 favicon........ 140
7.2.3 methodOverride():伪造
HTTP 方法................................. 141
7.2.4 vhost():虚拟主机................. 143
7.2.5 session():会话管理............. 144
7.3 处理 Web 程序安全的中间件 ............... 148
7.3.1 basicAuth():HTTP 基本
认证 ........................................... 148
7.3.2 csrf():跨站请求伪造防护.... 150
7.3.3 errorHandler():开发错误
处理 ........................................... 150
图灵社区会员 quqingtao 专享 尊重版权
目 录 3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
18
17
7.4 提供静态文件服务的中间件 .................152
7.4.1 static():静态文件服务........152
7.4.2 compress():压缩静态文件....154
7.4.3 directory():目录列表 .........156
7.5 小结 .......................................................157
第 8 章 Express ...........................................158
8.1 生成程序骨架 ........................................160
8.1.1 安装 Express 的可执行程序.......161
8.1.2 生成程序 ....................................162
8.1.3 探索程序 ....................................162
8.2 配置 Express 和你的程序 ......................164
8.3 渲染视图................................................166
8.3.1 视图系统配置 ............................167
8.3.2 视图查找 ....................................169
8.3.3 把数据输出到视图中.................171
8.4 处理表单和文件上传.............................175
8.4.1 实现照片模型 ............................175
8.4.2 创建照片上传表单.....................176
8.4.3 显示上传照片列表.....................178
8.5 创建资源下载 ........................................179
8.5.1 创建照片下载路由.....................179
8.5.2 实现照片下载路由.....................180
8.6 小结 .......................................................182
第 9 章 Express 进阶..................................183
9.1 认证用户................................................184
9.1.1 保存和加载用户.........................184
9.1.2 注册新用户 ................................189
9.1.3 已注册用户登录.........................194
9.1.4 用户加载中间件.........................197
9.2 先进的路由技术 ....................................199
9.2.1 校验用户内容提交.....................199
9.2.2 特定路由中间件.........................202
9.2.3 实现分页 ....................................205
9.3 创建一个公开的 REST API...................208
9.3.1 设计 API.....................................208
9.3.2 添加基本的认证.........................209
9.3.3 实现路由 ....................................209
9.3.4 启用内容协商 ............................212
9.4 错误处理................................................214
9.4.1 处理 404 错误 ............................215
9.4.2 处理错误....................................217
9.5 小结 .......................................................220
第 10 章 测试 Node 程序...........................221
10.1 单元测试..............................................222
10.1.1 assert 模块..............................222
10.1.2 Nodeunit.................................225
10.1.3 Mocha.....................................227
10.1.4 Vows ......................................232
10.1.5 should.js .................................234
10.2 验收测试..............................................235
10.2.1 Tobi ........................................236
10.2.2 Soda........................................237
10.3 小结 .....................................................239
第 11 章 Web 程序模板..............................240
11.1 用模板保持代码的整洁性...................240
11.2 嵌入 JavaScript 的模板........................244
11.2.1 创建模板................................245
11.2.2 用 EJS 过滤器处理模板
数据........................................246
11.2.3 将 EJS 集成到你的程序中 .....249
11.2.4 在客户端程序中使用 EJS ......250
11.3 使用 Mustache 模板语言与 Hogan ......251
11.3.1 创建模板................................251
11.3.2 Mustache 标签........................252
11.3.3 微调 Hogan ............................254
11.4 用 Jade 做模板.....................................255
11.4.1 Jade 基础知识 ........................256
11.4.2 Jade 模板中的逻辑.................258
11.4.3 组织 Jade 模板 .......................260
11.5 小结 .....................................................264
第三部分 在Node中更进一步
第 12 章 部署 Node 程序并维持正常
运行时间 .......................................266
12.1 安置 Node 程序 ...................................266
12.1.1 专用的和虚拟私有服务器 .....267
12.1.2 云主机....................................268
图灵社区会员 quqingtao 专享 尊重版权
4 目 录
12.2 部署的基础知识 ..................................269
12.2.1 从 Git 存储库部署..................270
12.2.2 让 Node 保持运行 ..................270
12.3 让正常运行时间和性能达到最优 .......271
12.3.1 用 Upstart 维护正常运行
时间........................................272
12.3.2 集群 API:利用多核的优
势 ...........................................273
12.3.3 静态文件及代理.....................275
12.4 小结 .....................................................277
第 13 章 超越 Web 服务器 ........................278
13.1 Socket.IO .............................................278
13.1.1 创建一个最小的 Socket.IO
程序........................................279
13.1.2 用 Socket.IO 触发页面和
CSS 的重新加载 ....................281
13.1.3 Socket.IO 的其他用法............283
13.2 深入 TCP/IP 网络 ................................284
13.2.1 处理缓冲区和二进制数据 .....284
13.2.2 创建 TCP 服务器 ...................286
13.2.3 创建 TCP 客户端 ...................289
13.3 跟操作系统交互的工具.......................290
13.3.1 单例的全局 process
对象........................................291
13.3.2 使用文件系统模块.................293
13.3.3 繁衍外部进程 ........................ 296
13.4 开发命令行工具.................................. 301
13.4.1 解析命令行参数 .................... 301
13.4.2 处理 stdin 和 stdout................ 302
13.4.3 添加彩色的输出 .................... 304
13.5 小结..................................................... 306
第 14 章 Node 生态系统............................ 307
14.1 给 Node 开发人员的在线资源 ............ 308
14.1.1 Node 和模块的参考资料 ....... 308
14.1.2 Google 群组 ........................... 309
14.1.3 IRC......................................... 309
14.1.4 GitHub 问题列表 ................... 310
14.2 GitHub ................................................. 310
14.2.1 GitHub 入门........................... 311
14.2.2 添加一个项目到 GitHub 中 ... 312
14.2.3 用 GitHub 协作 ...................... 314
14.3 为 npm 库做贡献................................. 316
14.3.1 准备包.................................... 317
14.3.2 编写包规范............................ 317
14.3.3 测试和发布包 ........................ 318
14.4 小结..................................................... 320
附录 A 安装 Node 和社区附加组件......... 321
附录 B 调试 Node ....................................... 329
附录 C Express 的扩展及配置................. 336


标签: js d NodeJS s

实例下载地址

《node.js实战》.pdf以及nodejs随书源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警