图书目录

目    录

第1章  Node.js基础知识 1

1.1  概述 1

1.1.1  Node.js是什么 1

1.1.2  Node.js带来了什么 1

1.2  Node.js配置开发 3

1.2.1  Windows配置 3

1.2.2  Linux配置 5

1.2.3  Hello World 6

1.2.4  常见问题 7

1.3  异步编程 8

1.3.1  同步调用和异步调用 8

1.3.2  回调和异步调用 11

1.3.3  获取异步函数的执行结果 12

1.4  本章实践 12

1.5  本章小结 14

第2章  模块和NPM 16

2.1  什么是模块 16

2.1.1  模块的概念 16

2.1.2  Node.js如何处理模块 16

2.1.3  Node.js实现Web解析DNS 18

2.1.4  Node.js重构DNS解析网站 24

2.1.5  exports和module.exports 28

2.2  NPM简介 30

2.2.1  NPM和配置 30

2.2.2  Express框架 31

2.2.3  jade模板 33

2.2.4  forever模块 36

2.2.5  socket.io模块 38

2.2.6  request模块 40

2.2.7  Formidable模块 43

2.2.8  NPM模块开发指南 45

2.3  Node.js设计模式 47

2.3.1  模块与类 47

2.3.2  Node.js中的继承 49

2.3.3  单例模式 55

2.3.4  适配器模式 57

2.3.5  装饰模式 59

2.3.6  工厂模式 61

2.4  本章实践 63

2.5  本章小结 75

第3章  Node.js的Web应用 77

3.1  HTTP服务器 77

3.1.1  简单的HTTP服务器 77

3.1.2  路由处理 81

3.1.3  GET和POST 84

3.1.4  GET方法实例 84

3.1.5  POST方法实例 87

3.1.6  HTTP和HTTPS模块介绍 90

3.2  Node.js静态资源管理 91

3.2.1  为什么需要静态资源管理 92

3.2.2  Node.js实现简单静态资源管理 93

3.2.3  静态资源库设计 96

3.2.4  静态文件的缓存控制 99

3.3  文件处理 104

3.3.1  File System模块介绍 104

3.3.2  图片和文件上传 108

3.3.3  jade模板实现图片上传展示功能 112

3.3.4  上传图片存在的问题 116

3.3.5  文件读写 117

3.4  Cookie和Session 122

3.4.1  Cookie和Session 122

3.4.2  Session模块实现 123

3.4.3  Session模块的应用 126

3.5  Crypto模块加密 127

3.5.1  Crypto介绍 127

3.5.2  Web数据密码的安全 131

3.5.3  简单加密模块设计 132

3.6  Node.js+Nginx 136

3.6.1  Nginx概述 137

3.6.2  Nginx的配置安装 137

3.6.3  如何构建 142

3.7  文字直播实例 145

3.7.1  系统分析 145

3.7.2  重要模块介绍 147

3.8  扩展阅读 155

3.9  本章实践 159

3.10  本章小结 173

第4章  Node.js高级编程 175

4.1  构建UDP服务器 175

4.1.1  UDP 模块概述 175

4.1.2  UDP Server构建 176

4.2  UDP服务器应用 179

4.2.1  应用分析介绍 180

4.2.2  UDP Server端(图片处理服务器)实现 181

4.2.3  UDP Client端(Web Server) 184

4.2.4  Jade页面实现 186

4.2.5  应用体验 187

4.3  Node.js与PHP合作 189

4.3.1  UDP方式 189

4.3.2  脚本执行 191

4.3.3  HTTP方式 191

4.3.4  三种方式的比较 192

4.4  本章实践 193

4.5  本章小结 196

第5章  深入Node.js 199

5.1  Node.js的相关实现机制 199

5.2  Node.js原生扩展 202

5.2.1  Node.js扩展开发基础V8 202

5.2.2  Node.js插件开发介绍 204

5.3  Node.js异步扩展开发与应用 205

5.4  本章实践 212

5.5  本章小结 214

第6章  Node.js编码习惯 216

6.1  Node.js规范 216

6.1.1  变量和函数命名规范 216

6.1.2  模块编写规范 219

6.1.3  注释 220

6.2  Node.js异步编程规范 221

6.2.1  Node.js的异步实现 221

6.2.2  异步函数的调用 224

6.2.3  Node.js异步回调深度 226

6.2.4  解决异步编程带来的麻烦 227

6.3  异常逻辑的处理 231

6.3.1  require模块对象不存在异常 231

6.3.2  对象中不存在方法或者属性时的异常 233

6.3.3  异步执行的for循环异常 234

6.3.4  利用异常处理办法优化路由 236

6.3.5  异常情况汇总 240

6.4  本章实践 241

6.5  本章小结 241

第7章  Node.js与数据库 243

7.1  两种数据库介绍 243

7.1.1  MySQL介绍 243

7.1.2  MongoDB模块介绍 247

7.2  Node.js与MySQL 250

7.2.1  MySQL安装配置应用 250

7.2.2  MySQL数据库接口设计 251

7.2.3  数据库连接 252

7.2.4  数据库插入数据 254

7.2.5  查询一条数据记录 256

7.2.6  修改数据库记录 258

7.2.7  删除数据库记录 259

7.2.8  数据条件查询 260

7.3  Node.js与MongoDB 262

7.3.1  MongoDB的安装以及工具介绍 263

7.3.2  MongOD的启动运行方法 264

7.3.3  MongoDB的启动运行 266

7.3.4  MongoDB数据库接口设计 268

7.3.5  数据插入 272

7.3.6  数据修改 274

7.3.7  查询一条数据 276

7.3.8  删除数据 278

7.3.9  查询数据 279

7.4  MySQL与MongoDB性能 281

7.4.1  测试工具及测试逻辑 282

7.4.2  MySQL性能测试代码 282

7.4.3  MongoDB性能测试代码 283

7.4.4  性能测试数据分析 283

7.5  本章实践 285

7.6  本章小结 289

第8章  MyWeb框架介绍 290

8.1  MyWeb框架介绍 290

8.1.1  MyWeb框架涉及的应用 290

8.1.2  MyWeb框架应用模块 291

8.2  MyWeb源码架构 292

8.2.1  框架MVC设计图 292

8.2.2  框架文件结构 293

8.2.3  扩展阅读之更快地了解新项目 294

8.3  框架源码分析 295

8.3.1  框架入口文件模块 295

8.3.2  路由处理模块 297

8.3.3  Model层基类 299

8.3.4  Controller层基类 301

8.4  本章实践 302

8.5  本章小结 302

第9章  框架应用MyChat 304

9.1  编码前的准备 304

9.1.1  应用分析 305

9.1.2  应用模块 305

9.1.3  功能模块设计 307

9.2  系统的编码开发 309

9.2.1  Model层 309

9.2.2  Controller层 311

9.2.3  View层 316

9.3  项目总结 318

9.3.1  forever启动运行项目 318

9.3.2  系统应用体验 320

9.3.3  系统开发总结 323

9.4  扩展阅读之MyWeb 2.0的介绍 323

9.5  本章实践 325

9.6  本章小结 325

第10章  Node.js实例应用 326

10.1  实时聊天对话 326

10.1.1  系统设计 326

10.1.2  系统的模块设计 327

10.1.3  系统编码实现 328

10.2  联网中国象棋游戏 332

10.2.1  系统设计 333

10.2.2  系统的模块设计 334

10.2.3  系统编码实现 334

10.2.4  系统体验 337

10.3  本章小结 339

第11章  Node.js实用工具 340

11.1  日志模块工具 340

11.1.1  日志模块介绍 340

11.1.2  日志模块实现 341

11.1.3  日志模块应用 345

11.2  配置文件读取模块 347

11.2.1  配置文件解析模块介绍 347

11.2.2  配置文件解析模块实现 348

11.3  curl模块 352

11.3.1  curl模块介绍 352

11.3.2  curl模块实现 353

11.3.3  curl模块应用 356

11.4  crontab模块 357

11.4.1  crontab模块介绍 358

11.4.2  crontab模块设计实现 358

11.4.3  crontab模块应用 361

11.5  forever运行脚本 362

11.5.1  forever运行脚本介绍 362

11.5.2  forever运行脚本实现 363

11.5.3  forever运行脚本应用 366

11.6  xml模块的应用 367

11.6.1  xml解析模块介绍 368

11.6.2  xml模块设计实现 369

11.6.3  xml模块应用 371

11.7  邮件发送模块应用 374

11.7.1  邮件模块介绍 374

11.7.2  邮件模块设计实现 374

11.7.3  邮件模块应用 376

11.8  本章小结 377

  ??

  

  ??

  

  ??

  

  ??

  

Node.js开发实战详解

  

目录

  

·X·

  

  

·IX·