《Node学习指南》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)鲍尔丝著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115337962
  • 页数:361 页
图书介绍:Node.js是以Google V8 JavaScript为基础的服务器端技术,具有高可扩展性,采用异步的事件驱动IO而不是线程或者独立进程。它能很好的满足那些需要频繁访问但是计算简单的网络应用的需求。本书主要向读者介绍如何使用Node这一编程框架,利用读者已有的web开发技能,编写从浏览器到Web服务器的网络应用程序。

第1章 Node.js:启动与运行 1

1.1搭建Node开发环境 2

1.1.1 Linux (Ubuntu)下安装Node 2

1.1.2 Windows 7平台下Node+WebMatrix 4

1.1.3升级Node 8

1.2开始Node开发 9

1.2.1 Hello, World in Node 9

1.2.2分析“Hello, World” 11

1.3异步函数及Node事件循环 13

1.3.1使用异步方式读取文件 14

1.3.2观察异步程序流程 15

1.4 Node的优势 19

第2章 Node与REPL 20

2.1 REPL:先睹为快和未定义的表达式 20

2.2 REPL的优势:更好地理解表层之下的JavaScript 22

2.3多行以及更复杂的JavaScript 23

2.3.1 REPL命令 26

2.3.2 REPL和rlwrap 27

2.3.3定制REPL 28

2.4不可预计的意外——记得经常保存 32

第3章 Node核心库 33

3.1全局对象:global、process和Buffer 34

3.1.1 global 34

3.1.2 process 36

3.1.3 Buffer 38

3.2定时器:setTimeout、clearTimeout、setInterval和clearInterval 39

3.3 Servers、Streams和Sockets 40

3.3.1 TCP Sockets和Servers 41

3.3.2 HTTP 43

3.3.3 UDP数据报套接字 45

3.3.4流、管道和Readline 47

3.4子进程 49

3.4.1 child_process.spawn 50

3.4.2 child_process.exec和child_process.execFile 52

3.4.3 child_process.fork 52

3.4.4在Windows系统中使用子进程 53

3.5域名解析和URL处理 54

3.6 Utilities模块和对象继承 55

3.7 Events和EventEmitter 59

第4章 Node模块系统 63

4.1使用require和默认路径加载模块 63

4.2外部模块和Node包管理工具 65

4.3如何找到你需要的模块 69

4.3.1 Colors:简单至上 71

4.3.2 Optimist:另一个简单的小模块 73

4.3.3 Underscore 74

4.4创建自定义模块 75

4.4.1打包整个目录 76

4.4.2为你的模块发布做准备 76

4.4.3发布模块 80

第5章 控制流、异步模式和异常处理 82

5.1使用Callback而不使用Promises 82

5.2顺序调用、嵌套回调、异常捕获 85

5.3异步模式和控制流模块 92

5.3.1 Step 93

5.3.2 Async 96

5.4 Node编码风格 101

第6章 路由寻址、服务文件和中间件 103

6.1从头开始:创建一个简单的静态文件服务器 103

6.2中间件 110

6.2.1 Connect基本知识 111

6.2.2 Connect中间件 113

6.2.3定制Connect中间件 118

6.3 Routers 121

6.4 Proxies 124

第7章 Express框架 128

7.1 Express:启动和运行 129

7.2 app.js文件 130

7.3错误处理 133

7.4 Express与Connect的关系 134

7.5路由 135

7.5.1路由路径 137

7.5.2路由和HTTP动词 140

7.6关于MVC 147

7.7使用cURL测试Express应用程序 152

第8章 Express、模板系统和CSS 154

8.1 EJS模板系统(Embedded JavaScript Template System) 154

8.1.1基本语法 155

8.1.2 Node与EJS 156

8.1.3 EJS与Node Filters 158

8.2在Express中使用EJS 159

8.2.1多对象环境的改造 161

8.2.2静态文件路由 162

8.2.3处理一个新对象的Post请求 164

8.2.4 Widget索引和生成picklist 166

8.2.5显示单个对象并确认对象的删除操作 168

8.2.6提供更新信息的表达以及处理PUT请求 170

8.3 Jade模板系统 173

8.3.1 Jade语法简介 173

8.3.2使用block和extends模块化视图模板 176

8.3.3 Widget View转换为Jade模板 178

8.3.4转换edit和delete表单 179

8.4使用Stylus完成简单的CSS样式 182

第9章 结构化数据、Noe和Redis 187

9.1 Node和Redis 188

9.2构建游戏得分排行榜 190

9.3创建消息队列 197

9.4为Express应用程序添加统计中间件 201

第10章 Node和MongoDB:文档中心数据 206

10.1 MongoDB Native Node.js Driver(MongoDB原生Node.js驱动) 207

10.1.1 MongoDB入门 207

10.1.2定义、创建以及销毁MongoDB Collection 208

10.1.3为Collection添加数据 209

10.1.4查询数据 212

10.1.5使用Updates、Upserts、Find和Remove 216

10.2使用Mongoose实现Widget模块 221

10.3重构Widget工厂 222

10.4添加MongoDB后台 223

第11章 Node与关系型数据库 228

11.1 db-mysql入门 229

11.1.1查询字符串和方法链 229

11.1.2使用查询字符串更新数据库 233

11.1.3使用方法链更新数据库 235

11.2使用node-mysql实现本地MySQL访问 237

11.2.1使用node-mysql做基本的CRUD操作 237

11.2.2 MySQL事务与mysql-queues 239

11.3 ORM与Sequelize 241

11.3.1定义模型 241

11.3.2 ORM风格的CRUD实现 243

11.3.3添加多个对象 246

11.3.4从关系型到ORM 247

第12章 图形和HTML5 Video 248

12.1创建和使用PDF 248

12.1.1使用子进程访问PDF工具 249

12.1.2使用PDFKit创建PDF 257

12.2从子进程访问ImageMagick 258

12.3通过HTTP提供HTML5 Video服务 263

12.4创建和流化画布内容(Canvas Content) 267

第13章 WebSockets和Socket.IO 271

13.1 WebSockets 271

13.2 Socket.IO简介 272

13.2.1一个简单的通信范例 273

13.2.2异步世界里的WebSockets 276

13.2.3关于客户端代码 277

13.3配置Socket.IO 278

13.4 Chat: WebSockets版本的“Hello, World” 279

13.5在Express中使用Socket.IO 282

第14章 Node应用程序的测试和调试 284

14.1调试 284

14.1.1 Node.js Debugger 284

14.1.2使用Node Inspector的客户端调试 287

14.2单元测试(Unit Testing) 289

14.2.1 Assert与单元测试 289

14.2.2 Nodeunit与单元测试 293

14.2.3其他测试框架 295

14.3验收测试 299

14.3.1 Soda和Selenium测试 299

14.3.2通过Tobi和Zombie模拟浏览器 303

14.4性能测试:基准问题和负载测试 304

14.4.1 ApacheBench基准测试 305

14.4.2 Nodeload与负载测试 309

14.5 Nodemon更新代码 312

第15章 安全及防护 313

15.1数据加密 314

15.1.1 TSL/SSL配置 314

15.1.2使用HTTPS 315

15.1.3如何安全的保存密码 317

15.2认证/授权及Passport 320

15.2.1授权/认证策略:Oauth、OpenID、用户名/密码验证 321

15.2.2 Local Passport Strategy 323

15.2.3 Twitter Passport Strategy(OAuth) 330

15.3保护应用程序,防止攻击 336

15.3.1不要使用eval 336

15.3.2尽量使用复选框、单选按钮和下拉式选项 337

15.3.3使用node-validator 337

15.4在沙箱中执行代码 339

第16章 扩展和部署Node应用 343

16.1把你的节点部署到服务器上 343

16.1.1编写package.json文件 344

16.1.2使用Forever让你的应用“永不掉线” 347

16.1.3使用Node和Apache 350

16.1.4改善性能 352

16.2部署到云服务 352

16.2.1通过Cloud9 IDE部署到Windows Azure 353

16.2.2 Joyent Development SmartMachme 355

16.2.3 Heroku 355

16.2.4 Amazon EC2 356

16.2.5 Nodejitsu 356

附录 Node、Git和GitHub 357