当前位置:主页 > 书籍配套资源 > Node.js配套资源
《Node.js权威指南》源代码

《Node.js权威指南》源代码

  • 更新:2022-04-10
  • 大小:4.8 MB
  • 类别:Node.js
  • 作者:陆凌牛
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

全书一共16章,共分为三大部分:

第一部分:使用Node.js框架创建高性能服务器(1-12),主要介绍了Node.js基本概念和作用,Node.js中的交互式运行环境REPL,Node.js的基础知识,模块与npm包管理工具,使用Buffer类处理二进制数据,在Node.js中操作文件系统,TCP与UDP,HTTP与HTTPS服务器与客户端的创建,进程与子进程,Node.js的错误处理与断言处理,加密与压缩,常用模块的使用方法等;

第二部分:使用第三方模块扩展Node.js应用程序(13-15),主要讲解了数据库访问,使用Express构建Web应用,Socket.IO;第三部分(16)是两个综合案例。

封面图

目录

  • 前言
  • 第1章Node.js介绍 / 1
  • 1.1Node.js概述 / 2
  • 1.1.1使用Node.js能够解决什么问题 / 2
  • 1.1.2实现高性能服务器 / 2
  • 1.1.3非阻塞型I/O及事件环机制 / 2
  • 1.1.4 Node.js适合开发的应用程序 / 3
  • 1.2安装Node.js / 3
  • 1.3Node.js中的模块 / 4
  • 1.4一个简单的示例应用程序 / 6
  • 1.5小结 / 8
  • 第2章Node.js中的交互式运行环境——REPL / 9
  • 2.1REPL运行环境概述 / 10
  • 2.2在REPL运行环境中操作变量 / 10
  • 2.3在REPL运行环境中使用下划线字符 / 12
  • 2.4在REPL运行环境中直接运行函数 / 12
  • 2.5在REPL运行环境中定义并启动服务器 / 13
  • 2.6REPL运行环境中的上下文对象 / 13
  • 2.7REPL运行环境中的基础命令 / 14
  • 2.8小结 / 17
  • 第3章Node.js基础知识 / 18
  • 3.1Node.js中的控制台 / 19
  • 3.1.1console.log方法 / 19
  • 3.1.2console.error方法 / 20
  • 3.1.3console.dir方法 / 21
  • 3.1.4console.time方法与console.timeEnd方法 / 22
  • 3.1.5console.trace方法 / 22
  • 3.1.6console.assert方法 / 23
  • 3.2Node.js中的全局作用域及全局函数 / 23
  • 3.2.1Node.js中的全局作用域 / 23
  • 3.2.2setTimeout函数与clearTimeout函数 / 25
  • 3.2.3setInterval函数与clearInterval函数 / 25
  • 3.2.4定时器对象的unref方法与ref方法 / 27
  • 3.2.5与模块相关的全局函数及对象 / 28
  • 3.3__filename变量与__dirname变量 / 33
  • 3.3.1__filename变量 / 33
  • 3.3.2__dirname变量 / 34
  • 3.4事件处理机制及事件环机制 / 34
  • 3.4.1EventEmitter类 / 35
  • 3.4.2EventEmitter类的各个方法 / 35
  • 3.4.3获取指定事件的事件处理函数的数量 / 41
  • 3.4.4EventEmitter类自身所拥有的事件 / 42
  • 3.4.5事件环机制 / 44
  • 3.5在Node.js中使用调试器 / 45
  • 3.5.1在命令行窗口中使用调试器 / 45
  • 3.5.2观察变量值或表达式的执行结果 / 48
  • 3.5.3设置与取消断点 / 49
  • 3.5.4调试器中可以使用的其他实用命令 / 50
  • 3.5.5使用node-inspector调试工具 / 54
  • 3.6小结 / 55
  • 第4章模块与npm包管理工具 / 56
  • 4.1核心模块与文件模块 / 57
  • 4.2从模块外部访问模块内的成员 / 58
  • 4.2.1使用exports对象 / 58
  • 4.2.2将模块定义为类 / 58
  • 4.2.3为模块类定义类变量或类函数 / 61
  • 4.3组织与管理模块 / 61
  • 4.3.1从node_modules目录中加载模块 / 61
  • 4.3.2使用目录来管理模块 / 62
  • 4.3.3从全局目录中加载模块 / 62
  • 4.4模块对象的属性 / 63
  • 4.5包与npm包管理工具 / 65
  • 4.5.1Node.js中的包 / 65
  • 4.5.2npm包管理工具 / 67
  • 4.6小结 / 68
  • 第5章使用Buffer类处理二进制数据 / 69
  • 5.1创建Buffer对象 / 70
  • 5.2字符串的长度与缓存区的长度 / 72
  • 5.3Buffer对象与字符串对象之间的相互转换 / 74
  • 5.3.1Buffer对象的toString方法 / 74
  • 5.3.2Buffer对象的write方法 / 75
  • 5.3.3StringDecoder对象 / 75
  • 5.4Buffer对象与数值对象之间的相互转换 / 77
  • 5.5Buffer对象与JSON对象之间的相互转换 / 79
  • 5.6复制缓存数据 / 80
  • 5.7Buffer类的类方法 / 81
  • 5.7.1isBuffer方法 / 81
  • 5.7.2byteLength方法 / 81
  • 5.7.3concat方法 / 82
  • 5.7.4isEncoding方法 / 83
  • 5.8小结 / 83
  • 第6章在Node.js中操作文件系统 / 84
  • 6.1同步方法与异步方法 / 85
  • 6.2对文件执行读写操作 / 86
  • 6.2.1文件的完整读写 / 86
  • 6.2.2从指定位置处开始读写文件 / 91
  • 6.3创建与读取目录 / 97
  • 6.3.1创建目录 / 97
  • 6.3.2读取目录 / 98
  • 6.4查看与修改文件或目录的信息 / 99
  • 6.4.1查看文件或目录的信息 / 99
  • 6.4.2检查文件或目录是否存在 / 101
  • 6.4.3获取文件或目录的绝对路径 / 102
  • 6.4.4修改文件访问时间及修改时间 / 103
  • 6.4.5修改文件或目录的读写权限 / 104
  • 6.5可以对文件或目录执行的其他操作 / 105
  • 6.5.1移动文件或目录 / 105
  • 6.5.2创建与删除文件的硬链接 / 106
  • 6.5.3创建与查看符号链接 / 107
  • 6.5.4截断文件 / 110
  • 6.5.5删除空目录 / 111
  • 6.5.6监视文件或目录 / 111
  • 6.6使用文件流 / 116
  • 6.6.1流的基本概念 / 116
  • 6.6.2使用ReadStream对象读取文件 / 119
  • 6.6.3使用WriteStream对象写入文件 / 121
  • 6.7对路径进行操作 / 127
  • 6.8小结 / 134
  • 第7章实现基于TCP与UDP的数据通信 / 135
  • 7.1使用net模块实现基于TCP的数据通信 / 136
  • 7.1.1创建TCP服务器 / 136
  • 7.1.2socket端口对象 / 142
  • 7.1.3创建TCP客户端 / 151
  • 7.1.4net模块中的类方法 / 164
  • 7.2使用dgram模块实现基于UDP的数据通信 / 165
  • 7.2.1创建UDP服务器与客户端 / 165
  • 7.2.2实现广播与组播 / 172
  • 7.3小结 / 175
  • 第8章创建HTTP与HTTPS服务器及客户端 / 176
  • 8.1HTTP服务器 / 177
  • 8.1.1创建HTTP服务器 / 177
  • 8.1.2获取客户端请求信息 / 182
  • 8.1.3转换URL字符串与查询字符串 / 184
  • 8.1.4发送服务器端响应流 / 191
  • 8.2HTTP客户端 / 202
  • 8.2.1向其他网站请求数据 / 202
  • 8.2.2向本地服务器请求数据 / 208
  • 8.2.3制作代理服务器 / 210
  • 8.3创建HTTPS服务器与客户端 / 211
  • 8.3.1创建HTTPS服务器 / 211
  • 8.3.2创建HTTPS客户端 / 216
  • 8.4小结 / 223
  • 第9章进程与子进程 / 224
  • 9.1Node.js中的进程 / 225
  • 9.1.1进程对象的属性 / 225
  • 9.1.2进程对象的方法与事件 / 227
  • 9.2创建多进程应用程序 / 235
  • 9.2.1使用spawn方法开启子进程 / 236
  • 9.2.2使用fork方法开启子进程 / 243
  • 9.2.3使用exec方法开启子进程 / 250
  • 9.2.4使用execFile方法开启子进程 / 253
  • 9.3在多个子进程中运行Node.js应用程序 / 254
  • 9.3.1使用fork方法创建worker对象 / 254
  • 9.3.2worker对象的方法与事件 / 262
  • 9.4小结 / 270
  • 第10章Node.js中的错误处理与断言处理 / 271
  • 10.1使用domain模块处理错误 / 272
  • 10.1.1domain模块概述 / 272
  • 10.1.2创建并使用Domain对象 / 274
  • 10.1.3隐式绑定与显式绑定 / 276
  • 10.1.4绑定回调函数与拦截回调函数 / 279
  • 10.1.5domain堆栈的弹出与推入 / 280
  • 10.1.6Domain对象的销毁 / 286
  • 10.2Node.js中的断言处理 / 286
  • 10.2.1equal方法与notEqual方法 / 287
  • 10.2.2strictEqual方法与notStrictEqual方法 / 288
  • 10.2.3assert方法与ok方法 / 288
  • 10.2.4deepEqual方法与notDeepEqual方法 / 289
  • 10.2.5throws方法与doesNotThrow方法 / 290
  • 10.3小结 / 293
  • 第11章加密与压缩 / 294
  • 11.1加密与解密处理 / 295
  • 11.1.1crypto模块概述 / 295
  • 11.1.2散列算法 / 296
  • 11.1.3HMAC算法 / 297
  • 11.1.4公钥加密 / 298
  • 11.2压缩与解压缩处理 / 305
  • 11.2.1创建各种用于压缩及解压缩的对象 / 305
  • 11.2.2zlib模块中的各种方法 / 310
  • 11.3小结 / 311
  • 第12章Node.js中的其他模块 / 312
  • 12.1使用dns模块解析域名 / 313
  • 12.1.1使用resolve方法将域名解析为DNS记录 / 313
  • 12.1.2使用lookup方法查询IP地址 / 315
  • 12.1.3使用reverse方法反向解析IP地址 / 316
  • 12.1.4dns模块中的各种错误代码 / 317
  • 12.2使用punycode模块转换punycode编码 / 318
  • 12.3使用os模块获取操作系统信息 / 320
  • 12.4使用readline模块逐行读取流数据 / 323
  • 12.4.1创建 Interface对象 / 323
  • 12.4.2Interface对象所拥有的各种方法与事件 / 327
  • 12.5使用util模块中提供的一些实用方法 / 335
  • 12.6使用vm模块改变脚本运行环境 / 346
  • 12.6.1在独立环境中运行JavaScript代码 / 346
  • 12.6.2创建并使用Script对象 / 350
  • 12.7自定义REPL运行环境 / 352
  • 12.8小结 / 358
  • 第13章数据库访问 / 359
  • 13.1在MongoDB数据库中存取数据 / 360
  • 13.1.1MongoDB概述 / 360
  • 13.1.2安装MongoDB数据库 / 360
  • 13.1.3安装MongoDB包 / 361
  • 13.1.4连接MongoDB数据库 / 361
  • 13.1.5在MongoDB数据库中插入数据 / 364
  • 13.1.6在MongoDB数据库中查询数据 / 369
  • 13.1.7在MongoDB数据库中更新与删除数据 / 384
  • 13.1.8使用Mongoose类库 / 393
  • 13.2在MySQL数据库中存取数据 / 395
  • 13.2.1建立连接与关闭连接 / 395
  • 13.2.2执行数据的基本处理 / 399
  • 13.2.3执行存储过程 / 404
  • 13.2.4执行多表结合查询 / 406
  • 13.2.5以数据流的方式处理查询数据 / 409
  • 13.2.6创建连接池 / 411
  • 13.3小结 / 413
  • 第14章使用Express构建Web应用程序 / 414
  • 14.1Express概述 / 415
  • 14.1.1安装Express / 415
  • 14.1.2使用Express开发一个简单的示例应用程序 / 415
  • 14.2设置路由 / 417
  • 14.3使用各种提交数据或请求数据的方法 / 421
  • 14.3.1使用post方法接收客户端提交的POST请求 / 421
  • 14.3.2使用put方法接收客户端提交的PUT请求 / 424
  • 14.3.3使用delete方法接收客户端提交的DELETE请求 / 426
  • 14.3.4使用all方法接收客户端提交的各种请求 / 428
  • 14.4中间件 / 430
  • 14.4.1中间件概述 / 430
  • 14.4.2Express框架中内置的中间件 / 432
  • 14.4.3basicAuth中间件 / 433
  • 14.4.4bodyParser中间件 / 435
  • 14.4.5cookieParser中间件 / 438
  • 14.4.6logger中间件 / 439
  • 14.4.7methodOverride中间件 / 442
  • 14.4.8responseTime中间件 / 446
  • 14.4.9router中间件 / 446
  • 14.4.10session中间件 / 448
  • 14.4.11static中间件 / 453
  • 14.4.12directory中间件 / 456
  • 14.4.13Express 3中的异常处理机制 / 459
  • 14.4.14limit中间件函数 / 465
  • 14.4.15配置应用程序 / 466
  • 14.5模板引擎 / 469
  • 14.5.1模板引擎概述 / 469
  • 14.5.2Jade模板引擎的使用方法 / 470
  • 14.5.3EJS模板引擎的使用方法 / 477
  • 14.6小结 / 480
  • 第15章使用Socket.IO类库实现WebSocket通信 / 481
  • 15.1Socket.IO概述 / 482
  • 15.2Socket.IO的使用方法 / 482
  • 15.3在Express框架中使用Socket.IO / 489
  • 15.4在服务器端保存用户数据 / 490
  • 15.5广播消息 / 493
  • 15.6使用命名空间 / 496
  • 15.7小结 / 499
  • 第16章综合案例介绍 / 500
  • 16.1创建简单聊天室应用程序 / 501
  • 16.1.1案例概述 / 501
  • 16.1.2页面显示效果 / 501
  • 16.1.3HTML页面代码及CSS样式代码 / 505
  • 16.1.4JavaScript脚本代码部分 / 509
  • 16.1.5服务器端代码 / 512
  • 16.2创建Web应用程序 / 513
  • 16.2.1案例概述 / 513
  • 16.2.2页面展示效果 / 514
  • 16.2.3订单检索页面 / 517
  • 16.2.4订单编辑页面 / 529
  • 16.3小结 / 547

资源下载

资源下载地址1:https://pan.baidu.com/s/1Cny0Kwyouw4RWVIGe8-lHQ

网友留言