书籍详情
从零开始学Node.js
作者:明日科技 编著
出版社:化学工业出版社
出版时间:2022-09-01
ISBN:9787122413260
定价:¥99.00
购买这本书可以去
内容简介
本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习Node.js编程知识,并提升自己的实际开发能力。全书共分为5篇20章,内容包括初识Node.js、JavaScript基础、npm包管理器、Node.js基础、http模块、fs文件及文件夹操作模块、path路径操作模块、os系统模块、Node.js中的流、socket.io模块、异步编程与回调、事件的监听与触发、程序调试与异常处理、express模块基础、express高级应用之express-penerator、Web开发中的模板引擎、Node.js与MySQL数据库、Node.js与MongoDB数据库、网络版五子棋游戏、全栈博客网等。书中知识点讲解细致,侧重介绍每个知识点的使用场景,涉及的代码给出了详细的注释,可以使读者轻松领会Node.js程序开发的精髓,快速提高开发技能。同时,本书配套了大量教学视频,扫码即可观看,还提供所有程序源文件,方便读者实践。本书适合Node.js初学者、软件开发入门者自学使用,也可用作高等院校相关专业的教材及参考书。
作者简介
暂缺《从零开始学Node.js》作者简介
目录
第1篇 Node.js基础篇
第1章 初识Node.js 2 视频讲解:5节,40分钟
1.1 Node.js简介 3
1.1.1 Web和互联网 3
1.1.2 V8引擎和Node.js 4
1.1.3 Node.js的优缺点 5
1.2 Node.js的下载与安装 5
1.2.1 下载并安装Node.js 5
1.2.2 测试Node.js是否安装成功 10
1.3 WebStorm开发环境的下载与安装 10
1.3.1 WebStorm的下载 10
1.3.2 WebStorm的安装 11
1.4 个Node.js服务器程序 14
1.4.1 WebStorm首次加载配置 14
1.4.2 使用WebStorm创建个Node.js程序 16
1.4.3 在WebStorm中运行Node.js程序 19
1.4.4 使用cmd命令运行Node.js程序 20
1.5 熟悉WebStorm开发环境 21
1.5.1 WebStorm功能区预览 21
1.5.2 WebStorm中英文对照菜单 21
1.5.3 常用工具栏 23
1.5.4 常用快捷键 23
1.5.5 WebStorm常用技巧 24
本章知识思维导图 25
第2章 JavaScript基础 26 视频讲解:9节,169分钟
2.1 JavaScript概述 27
2.1.1 Node.js与JavaScript 27
2.1.2 什么是JavaScript语言 27
2.1.3 为什么学习JavaScript语言 27
2.1.4 JavaScript的应用 28
2.2 JavaScript在HTML中的使用 29
2.2.1 在页面中直接嵌入JavaScript代码 30
[实例2.1] 编写个JavaScript程序 31
2.2.2 链接外部JavaScript文件 32
[实例2.2] 调用外部JavaScript文件 33
2.2.3 作为标签的属性值使用 34
2.3 JavaScript基本语法规则 34
2.4 JavaScript数据类型 36
2.4.1 数值型 36
2.4.2 字符串型 38
[实例2.3] 输出前NBA球星奥尼尔的中文名、英文名和别名 40
2.4.3 布尔值和特殊数据类型 41
2.5 JavaScript流程控制 41
2.5.1 条件判断语句 41
[实例2.4] 判断2021年的2月份有多少天 44
[实例2.5] 判断学生的成绩等级 45
2.5.2 循环控制语句 45
2.6 JavaScript函数 47
2.6.1 函数的定义 48
2.6.2 函数的调用 48
[实例2.6] 为商城中“加入购物车”按钮添加单击事件 50
2.7 DOM文档对象模型 51
2.7.1 DOM概述 51
2.7.2 DOM对象节点属性 53
2.7.3 DOM对象的应用 53
[实例2.7] 实现电影图片的轮换效果 54
2.8 Document文档对象 54
2.8.1 Document文档对象介绍 54
2.8.2 Document文档对象的常用属性 55
2.8.3 Document文档对象的常用方法 55
2.8.4 设置文档前景色和背景色 56
[实例2.8] 动态改变文档的前景色和背景色 56
2.8.5 设置动态标题栏 57
[实例2.9] 实现动态标题栏 57
2.8.6 在文档中输出数据 58
[实例2.10] 对比write()方法和writeln()方法 58
2.8.7 获取文本框并修改其内容 59
[实例2.11] 获取文本框并修改其内容 59
2.9 Window对象 59
2.9.1 Window对象的属性 60
2.9.2 Window对象的方法 60
2.9.3 Window对象的使用 61
本章知识思维导图 62
第3章 npm包管理器 63 视频讲解:1节,9分钟
3.1 npm包管理器简介 64
3.1.1 npm简介 64
3.1.2 npm的版本 64
3.1.3 npm常见软件包 65
3.2 package.json基础 67
3.2.1 认识package.json 67
3.2.2 npm中的package-lock.json文件 69
3.3 使用npm包管理器安装包 71
3.3.1 安装单个软件包 71
3.3.2 安装npm包的指定版本 72
3.3.3 安装所有软件包 73
3.3.4 更新软件包 74
3.3.5 指定npm软件包的安装位置 75
3.3.6 卸载npm软件包 76
3.4 使用npm安装的软件包 76
[实例3.1] 使用npm安装的软件包 76
本章知识思维导图 77
第4章 Node.js基础 78 视频讲解:4节,46分钟
4.1 Node.js全局对象 79
4.1.1 全局变量 79
4.1.2 全局对象 79
[实例4.1] argv属性和exit()方法的初级使用 82
4.1.3 全局函数 84
4.2 模块化编程 85
4.2.1 exports 对象 86
[实例4.2] 计算值与圆的周长 86
4.2.2 module 对象 86
[实例4.3] 使用module模块实现向2021年问好 87
4.3 node.js常用工具——util模块 87
4.3.1 转换异步函数的风格 88
4.3.2 实现对象间的原型继承 88
4.3.3 将对象转换为字符串 89
4.3.4 格式化输出字符串 90
4.3.5 将异步回调方法变成返回Promise实例的方法 91
4.3.6 判断是否为指定类型的内置对象 91
4.4 常用内置模块 94
4.4.1 url模块 95
4.4.2 Query String模块 95
4.4.3 crypto模块 96
[实例4.4] 使用crypto模块生成Hash密码 96
本章知识思维导图 97
第2篇 Node.js核心模块篇
第5章 http模块 100 视频讲解:4节,41分钟
5.1 Web应用服务 101
5.1.1 请求与响应 101
5.1.2 客户端与服务器端 102
5.2 server对象 103
5.2.1 server对象中的方法 103
5.2.2 server对象中的事件 104
5.3 response对象 105
5.3.1 响应HTML文件 106
[实例5.1] 使用fs模块将HTML文件返回给客户端 106
5.3.2 响应多媒体 108
[实例5.2] 实现将图片和视频返回客户端 108
5.3.3 网页自动跳转 109
[实例5.3] 实现网页自动跳转 109
5.4 request对象 110
5.4.1 GET请求 111
5.4.2 POST请求 112
[实例5.4] 使用POST请求获取用户名与密码 112
本章知识思维导图 114
第6章 fs文件及文件夹操作模块 115 视频讲解:3节,48分钟
6.1 文件基本操作 116
6.1.1 检查文件是否存在 116
6.1.2 文件读取 117
[实例6.1] 实现cmd控制台的歌词滚动播放器 118
6.1.3 文件写入 119
[实例6.2] 创建文件并且向文件中写入内容 120
[实例6.3] 为古诗增加古诗赏析 121
6.1.4 异常处理 121
6.2 文件其他操作 122
6.2.1 截断文件 122
[实例6.4] 修改文本文件的大小 123
6.2.2 删除文件 123
[实例6.5] 删除文件 124
6.2.3 复制文件 124
[实例6.6] 复制文件 124
6.2.4 重命名文件 126
[实例6.7] 批量为文件重命名 126
6.3 目录常用操作 127
6.3.1 创建目录 127
[实例6.8] 批量创建文件并放到指定的文件夹中 127
6.3.2 读取目录 129
6.3.3 删除空目录 129
6.3.4 查看目录信息 130
6.3.5 获取目录的路径 132
本章知识思维导图 133
第7章 path路径操作模块 134
7.1 路径和相对路径 135
[实例7.1] 实现cmd控制台读取文件 135
7.2 通过路径获取文件详细信息 136
7.2.1 获取文件所在目录 136
7.2.2 获取文件名 136
7.2.3 获取扩展名 137
[实例7.2] 通过扩展名判断文件夹中的图片文件 137
7.2.4 解析路径的组成 138
7.2.5 从对象返回路径字符串 138
[实例7.3] 通过路径的信息将其转换为路径字符串 139
7.2.6 判断路径是否为路径 140
[实例7.4] 判断并显示所有的路径 140
7.3 实现对路径的解析 141
7.3.1 将路径解析为路径 141
[实例7.5] resolve()方法的使用 142
7.3.2 实现将路径转换为相对路径 142
[实例7.6] 将列表中的路径转换为相对路径 142
7.3.3 多路径的拼接 143
7.3.4 规范化路径 144
7.4 path模块的相关属性 144
本章知识思维导图 145
第8章 os操作系统模块 146
8.1 获取内存相关信息 147
8.1.1 获取系统剩余内存 147
8.1.2 获取系统总内存 147
[实例8.1] 显示系统的内存使用情况 147
8.2 获取网络相关信息 148
8.3 获取系统相关的目录 148
8.3.1 获取用户主目录 148
8.3.2 获取临时文件夹目录 149
8.4 通过os模块获取系统相关信息 149
[实例8.2] 获取计算机操作系统的相关信息 151
[实例8.3] 查看计算机的运行时间 152
8.5 os模块常用属性 154
本章知识思维导图 155
第9章 Node.js中的流 156
9.1 流简介 157
9.1.1 流的基本概念 157
9.1.2 了解Buffe/ 157
9.2 创建可读流 158
9.2.1 流的读取模式与状态 158
9.2.2 可读流的相关事件 158
9.2.3 读取数据 159
9.2.4 设置编码格式 159
9.2.5 暂停流 160
9.2.6 获取流的运行状态 160
9.2.7 销毁数据 161
9.2.8 绑定可写流至可读流 161
9.2.9 解绑可写流 162
9.2.10 可读流的相关属性 163
9.3 创建可写流 163
9.3.1 可写流的相关事件 163
9.3.2 创建可写流 163
9.3.3 设置流的编码方式 164
9.3.4 关闭流 164
9.3.5 销毁流 165
9.3.6 将数据缓冲到内存 166
9.3.7 输出缓冲后的数据 166
9.3.8 可写流的相关属性 167
9.4 双工流与转换流 168
9.4.1 双工流的使用 168
9.4.2 转换流的使用 168
9.5 使用流操作文件 169
9.5.1 创建文件可读流 169
[实例9.1] 读取文件的指定内容 169
9.5.2 创建文件可写流 170
[实例9.2] 使用可写流为文件追加内容 170
本章知识思维导图 171
第10章 socket.io模块 172
10.1 socket.io模块基本操作 173
10.1.1 创建WebSocket服务器 173
10.1.2 创建WebSocket客户端 174
10.1.3 创建WebSocket事件 175
[实例10.1] 实现服务器端与客户端之间的通信 175
10.2 socket通信的类型 177
10.2.1 public通信类型 177
[实例10.2] 使用socket发布一则通知 178
10.2.2 broadcast通信类型 180
[实例10.3] 实现群发消息功能 180
10.2.3 private通信类型 182
[实例10.4] 实现与好友聊天功能 182
10.3 将客户端分组 185
[实例10.5] 实现进群通知和退群通知 186
10.4 项目实战——聊天室 188
[实例10.6] 制作简单聊天室 188
10.4.1 服务器端代码实现 189
10.4.2 客户端代码实现 190
10.4.3 执行项目 191
本章知识思维导图 192
第3篇 异步编程与事件篇
第11章 异步编程与回调 194
11.1 同步和异步 195
11.2 回调函数 196
[实例11.1] 回调函数的简单应用 197
[实例11.2] 异步调用回调函数 197
11.3 使用async/await的异步回调 198
11.3.1 Promise基础 199
11.3.2 为什么使用async/await 199
11.3.3 async/await的使用 200
[实例11.3] 使用async/await执行异步回调 200
11.3.4 使用async/await异步回调的优点 201
本章知识思维导图 202
第12章 事件的监听与触发 203
12.1 EventEmitter对象 204
[实例12.1] 使用EventEmitter创建简单事件 204
[实例12.2] 演示项目中监听事件的添加与触发 205
12.2 添加和触发监听事件 205
12.2.1 添加监听事件 206
12.2.2 添加单次监听事件 207
[实例12.3] 使用emit方法触发事件 208
12.2.3 触发监听事件 208
[实例12.4] 使用emit方法触发事件 208
[实例12.5] 触发带参数的监听事件 209
12.3 删除监听事件 209
[实例12.6] 删除指定的监听事件 210
本章知识思维导图 211
第13章 程序调试与异常处理 212
13.1 使用console.log()调试程序 213
13.2 使用WebStorm调试程序 213
13.2.1 插入断点 214
13.2.2 删除断点 214
13.2.3 禁用断点 214
13.2.4 断点调试 215
13.3 Node.js程序异常处理 216
13.3.1 使用throw关键字抛出异常 216
13.3.2 Error错误对象 217
13.3.3 使用try…catch捕获异常 218
13.4 异步程序中的异常处理 219
本章知识思维导图 221
第4篇 框架及数据应用篇
第14章 express模块基础 224
14.1 认识 express模块 225
14.1.1 创建Web服务器 225
14.1.2 express模块中的响应对象 225
[实例14.1] 实现向客户端响应数组信息 226
14.1.3 express模块中的请求对象 227
[实例14.2] 判断当前请求用户使用浏览器的类型 227
14.2 express模块中的中间件 228
14.2.1 什么是中间件 228
14.2.2 router中间件 230
14.2.3 static中间件 231
[实例14.3] 实现向客户端返回图片 232
14.2.4 cookie parser中间件 232
14.2.5 body parser中间件 233
[实例14.4] 使用中间件实现登录验证功能 233
14.3 实现RESTful Web服务 235
[实例14.5] 实现用户信息的RESTful服务 236
14.3.1 创建数据库 236
14.3.2 实现GET请求 238
14.3.3 实现POST请求 238
[实例14.6] 实现JSON文件的RESTful Web 服务 240
本章知识思维导图 241
第15章 express高级应用之express-generato/ 242
15.1 认识 express-generator框架 243
15.1.1 创建项目 243
15.1.2 设置项目参数 245
15.2 express-generator的初体验 246
[实例15.1] 实现登录和退出功能 246
15.3 项目实战——选座购票 250
[实例15.2] 实现选座购票的功能 250
15.3.1 服务器端代码实现 251
15.3.2 客户端代码实现 252
15.3.3 执行项目 253
本章知识思维导图 254
第16章 Web开发中的模板引擎 255
16.1 ejs模块 256
16.1.1 ejs模块的渲染方法 256
[实例16.1] ejs初体验:使用ejs模板进行渲染 257
[实例16.2] 给客户端返回轨道交通信息 258
16.1.2 ejs模块的数据传递 260
[实例16.3] 返回美团外卖单据 260
16.2 pug模块 262
16.2.1 pug模块的渲染方法 262
[实例16.4] 模拟获取消费券页面 264
16.2.2 pug模块的数据传递 265
[实例16.5] 月度消费账单提醒 265
本章知识思维导图 267
第17章 Node.js与MySQL数据库 268
17.1 MySQL 数据库的下载、安装及配置使用 269
17.1.1 数据库简介 269
17.1.2 下载MySQL 269
17.1.3 安装MySQL 270
17.1.4 配置MySQL环境变量 276
17.1.5 启动MySQL 278
17.1.6 使用Navicat foMySQL管理软件 278
17.2 MySQL数据库操作基础 279
17.2.1 认识SQL语言 279
17.2.2 数据库操作 280
17.2.3 数据表操作 282
17.2.4 数据操作 285
17.3 在Node.js中操作MySQL数据库 289
17.3.1 mysql模块的基本操作 289
[实例17.1] 连接数据库并查询数据 290
17.3.2 Node.js中对MySQL数据库实现增删改查操作 293
[实例17.2] 小型图书管理系统 293
本章知识思维导图 300
第18章 Node.js与MongoDB数据库 301
18.1 认识MongoDB数据库 302
18.1.1 关系型数据库与非关系型数据库 302
18.1.2 下载MongoDB数据库 303
18.1.3 安装MongoDB数据库 304
18.1.4 配置并测试MongoDB数据库 307
18.2 MongoDB数据库基础 309
18.2.1 使用JavaScript语言 309
18.2.2 数据库、集合与文档 310
18.2.3 添加数据 311
18.2.4 查询数据 311
18.2.5 修改数据 313
18.2.6 删除数据 313
18.3 项目实战——心情日记 313
[实例18.1] 制作网站心情日记 313
18.3.1 初始化数据 314
18.3.2 主页的实现 315
18.3.3 添加日记 316
18.3.4 修改日记 317
18.3.5 删除日记 319
18.3.6 用户登录与登出 319
本章知识思维导图 321
第5篇 项目开发篇
第19章 网络版五子棋游戏 324 视频讲解:6节,33分钟
19.1 需求分析 325
19.2 游戏设计 325
19.2.1 游戏功能结构 325
19.2.2 游戏业务流程 326
19.2.3 游戏预览 326
19.3 游戏开发准备 327
19.3.1 游戏开发环境 327
19.3.2 游戏项目构成 328
19.4 登录游戏房间设计 328
19.4.1 登录游戏房间概述 328
19.4.2 登录游戏房间的实现 329
19.5 游戏玩家列表设计 330
19.5.1 游戏玩家列表概述 330
19.5.2 游戏玩家列表的实现 330
19.6 游戏对战设计 332
19.6.1 游戏对战概述 332
19.6.2 游戏对战页面初始化 332
19.6.3 绘制棋盘 334
19.6.4 游戏算法及胜负判定 336
19.6.5 重新开始游戏 337
19.6.6 更改棋盘颜色 338
本章知识思维导图 339
第20章 全栈博客网 340 视频讲解:7节,67分钟
20.1 需求分析 341
20.2 项目设计 341
20.2.1 功能结构 341
20.2.2 业务流程 341
20.2.3 项目预览 342
20.3 项目开发准备 343
20.3.1 项目开发环境 343
20.3.2 文件夹组织结构 344
20.4 注册页面设计 345
20.4.1 注册页面概述 345
20.4.2 顶部区和底部区功能的实现 345
20.4.3 注册功能的实现 348
20.5 登录页面设计 350
20.5.1 登录页面概述 350
20.5.2 登录功能的实现 351
20.6 文章功能模块设计 353
20.6.1 文章功能模块概述 353
20.6.2 发表文章功能的实现 354
20.6.3 个人主页的实现 356
20.6.4 修改文章功能的实现 358
20.6.5 删除文章功能的实现 360
20.7 留言功能设计 361
20.7.1 留言功能概述 361
20.7.2 留言功能的实现 361
本章知识思维导图 364
第1章 初识Node.js 2 视频讲解:5节,40分钟
1.1 Node.js简介 3
1.1.1 Web和互联网 3
1.1.2 V8引擎和Node.js 4
1.1.3 Node.js的优缺点 5
1.2 Node.js的下载与安装 5
1.2.1 下载并安装Node.js 5
1.2.2 测试Node.js是否安装成功 10
1.3 WebStorm开发环境的下载与安装 10
1.3.1 WebStorm的下载 10
1.3.2 WebStorm的安装 11
1.4 个Node.js服务器程序 14
1.4.1 WebStorm首次加载配置 14
1.4.2 使用WebStorm创建个Node.js程序 16
1.4.3 在WebStorm中运行Node.js程序 19
1.4.4 使用cmd命令运行Node.js程序 20
1.5 熟悉WebStorm开发环境 21
1.5.1 WebStorm功能区预览 21
1.5.2 WebStorm中英文对照菜单 21
1.5.3 常用工具栏 23
1.5.4 常用快捷键 23
1.5.5 WebStorm常用技巧 24
本章知识思维导图 25
第2章 JavaScript基础 26 视频讲解:9节,169分钟
2.1 JavaScript概述 27
2.1.1 Node.js与JavaScript 27
2.1.2 什么是JavaScript语言 27
2.1.3 为什么学习JavaScript语言 27
2.1.4 JavaScript的应用 28
2.2 JavaScript在HTML中的使用 29
2.2.1 在页面中直接嵌入JavaScript代码 30
[实例2.1] 编写个JavaScript程序 31
2.2.2 链接外部JavaScript文件 32
[实例2.2] 调用外部JavaScript文件 33
2.2.3 作为标签的属性值使用 34
2.3 JavaScript基本语法规则 34
2.4 JavaScript数据类型 36
2.4.1 数值型 36
2.4.2 字符串型 38
[实例2.3] 输出前NBA球星奥尼尔的中文名、英文名和别名 40
2.4.3 布尔值和特殊数据类型 41
2.5 JavaScript流程控制 41
2.5.1 条件判断语句 41
[实例2.4] 判断2021年的2月份有多少天 44
[实例2.5] 判断学生的成绩等级 45
2.5.2 循环控制语句 45
2.6 JavaScript函数 47
2.6.1 函数的定义 48
2.6.2 函数的调用 48
[实例2.6] 为商城中“加入购物车”按钮添加单击事件 50
2.7 DOM文档对象模型 51
2.7.1 DOM概述 51
2.7.2 DOM对象节点属性 53
2.7.3 DOM对象的应用 53
[实例2.7] 实现电影图片的轮换效果 54
2.8 Document文档对象 54
2.8.1 Document文档对象介绍 54
2.8.2 Document文档对象的常用属性 55
2.8.3 Document文档对象的常用方法 55
2.8.4 设置文档前景色和背景色 56
[实例2.8] 动态改变文档的前景色和背景色 56
2.8.5 设置动态标题栏 57
[实例2.9] 实现动态标题栏 57
2.8.6 在文档中输出数据 58
[实例2.10] 对比write()方法和writeln()方法 58
2.8.7 获取文本框并修改其内容 59
[实例2.11] 获取文本框并修改其内容 59
2.9 Window对象 59
2.9.1 Window对象的属性 60
2.9.2 Window对象的方法 60
2.9.3 Window对象的使用 61
本章知识思维导图 62
第3章 npm包管理器 63 视频讲解:1节,9分钟
3.1 npm包管理器简介 64
3.1.1 npm简介 64
3.1.2 npm的版本 64
3.1.3 npm常见软件包 65
3.2 package.json基础 67
3.2.1 认识package.json 67
3.2.2 npm中的package-lock.json文件 69
3.3 使用npm包管理器安装包 71
3.3.1 安装单个软件包 71
3.3.2 安装npm包的指定版本 72
3.3.3 安装所有软件包 73
3.3.4 更新软件包 74
3.3.5 指定npm软件包的安装位置 75
3.3.6 卸载npm软件包 76
3.4 使用npm安装的软件包 76
[实例3.1] 使用npm安装的软件包 76
本章知识思维导图 77
第4章 Node.js基础 78 视频讲解:4节,46分钟
4.1 Node.js全局对象 79
4.1.1 全局变量 79
4.1.2 全局对象 79
[实例4.1] argv属性和exit()方法的初级使用 82
4.1.3 全局函数 84
4.2 模块化编程 85
4.2.1 exports 对象 86
[实例4.2] 计算值与圆的周长 86
4.2.2 module 对象 86
[实例4.3] 使用module模块实现向2021年问好 87
4.3 node.js常用工具——util模块 87
4.3.1 转换异步函数的风格 88
4.3.2 实现对象间的原型继承 88
4.3.3 将对象转换为字符串 89
4.3.4 格式化输出字符串 90
4.3.5 将异步回调方法变成返回Promise实例的方法 91
4.3.6 判断是否为指定类型的内置对象 91
4.4 常用内置模块 94
4.4.1 url模块 95
4.4.2 Query String模块 95
4.4.3 crypto模块 96
[实例4.4] 使用crypto模块生成Hash密码 96
本章知识思维导图 97
第2篇 Node.js核心模块篇
第5章 http模块 100 视频讲解:4节,41分钟
5.1 Web应用服务 101
5.1.1 请求与响应 101
5.1.2 客户端与服务器端 102
5.2 server对象 103
5.2.1 server对象中的方法 103
5.2.2 server对象中的事件 104
5.3 response对象 105
5.3.1 响应HTML文件 106
[实例5.1] 使用fs模块将HTML文件返回给客户端 106
5.3.2 响应多媒体 108
[实例5.2] 实现将图片和视频返回客户端 108
5.3.3 网页自动跳转 109
[实例5.3] 实现网页自动跳转 109
5.4 request对象 110
5.4.1 GET请求 111
5.4.2 POST请求 112
[实例5.4] 使用POST请求获取用户名与密码 112
本章知识思维导图 114
第6章 fs文件及文件夹操作模块 115 视频讲解:3节,48分钟
6.1 文件基本操作 116
6.1.1 检查文件是否存在 116
6.1.2 文件读取 117
[实例6.1] 实现cmd控制台的歌词滚动播放器 118
6.1.3 文件写入 119
[实例6.2] 创建文件并且向文件中写入内容 120
[实例6.3] 为古诗增加古诗赏析 121
6.1.4 异常处理 121
6.2 文件其他操作 122
6.2.1 截断文件 122
[实例6.4] 修改文本文件的大小 123
6.2.2 删除文件 123
[实例6.5] 删除文件 124
6.2.3 复制文件 124
[实例6.6] 复制文件 124
6.2.4 重命名文件 126
[实例6.7] 批量为文件重命名 126
6.3 目录常用操作 127
6.3.1 创建目录 127
[实例6.8] 批量创建文件并放到指定的文件夹中 127
6.3.2 读取目录 129
6.3.3 删除空目录 129
6.3.4 查看目录信息 130
6.3.5 获取目录的路径 132
本章知识思维导图 133
第7章 path路径操作模块 134
7.1 路径和相对路径 135
[实例7.1] 实现cmd控制台读取文件 135
7.2 通过路径获取文件详细信息 136
7.2.1 获取文件所在目录 136
7.2.2 获取文件名 136
7.2.3 获取扩展名 137
[实例7.2] 通过扩展名判断文件夹中的图片文件 137
7.2.4 解析路径的组成 138
7.2.5 从对象返回路径字符串 138
[实例7.3] 通过路径的信息将其转换为路径字符串 139
7.2.6 判断路径是否为路径 140
[实例7.4] 判断并显示所有的路径 140
7.3 实现对路径的解析 141
7.3.1 将路径解析为路径 141
[实例7.5] resolve()方法的使用 142
7.3.2 实现将路径转换为相对路径 142
[实例7.6] 将列表中的路径转换为相对路径 142
7.3.3 多路径的拼接 143
7.3.4 规范化路径 144
7.4 path模块的相关属性 144
本章知识思维导图 145
第8章 os操作系统模块 146
8.1 获取内存相关信息 147
8.1.1 获取系统剩余内存 147
8.1.2 获取系统总内存 147
[实例8.1] 显示系统的内存使用情况 147
8.2 获取网络相关信息 148
8.3 获取系统相关的目录 148
8.3.1 获取用户主目录 148
8.3.2 获取临时文件夹目录 149
8.4 通过os模块获取系统相关信息 149
[实例8.2] 获取计算机操作系统的相关信息 151
[实例8.3] 查看计算机的运行时间 152
8.5 os模块常用属性 154
本章知识思维导图 155
第9章 Node.js中的流 156
9.1 流简介 157
9.1.1 流的基本概念 157
9.1.2 了解Buffe/ 157
9.2 创建可读流 158
9.2.1 流的读取模式与状态 158
9.2.2 可读流的相关事件 158
9.2.3 读取数据 159
9.2.4 设置编码格式 159
9.2.5 暂停流 160
9.2.6 获取流的运行状态 160
9.2.7 销毁数据 161
9.2.8 绑定可写流至可读流 161
9.2.9 解绑可写流 162
9.2.10 可读流的相关属性 163
9.3 创建可写流 163
9.3.1 可写流的相关事件 163
9.3.2 创建可写流 163
9.3.3 设置流的编码方式 164
9.3.4 关闭流 164
9.3.5 销毁流 165
9.3.6 将数据缓冲到内存 166
9.3.7 输出缓冲后的数据 166
9.3.8 可写流的相关属性 167
9.4 双工流与转换流 168
9.4.1 双工流的使用 168
9.4.2 转换流的使用 168
9.5 使用流操作文件 169
9.5.1 创建文件可读流 169
[实例9.1] 读取文件的指定内容 169
9.5.2 创建文件可写流 170
[实例9.2] 使用可写流为文件追加内容 170
本章知识思维导图 171
第10章 socket.io模块 172
10.1 socket.io模块基本操作 173
10.1.1 创建WebSocket服务器 173
10.1.2 创建WebSocket客户端 174
10.1.3 创建WebSocket事件 175
[实例10.1] 实现服务器端与客户端之间的通信 175
10.2 socket通信的类型 177
10.2.1 public通信类型 177
[实例10.2] 使用socket发布一则通知 178
10.2.2 broadcast通信类型 180
[实例10.3] 实现群发消息功能 180
10.2.3 private通信类型 182
[实例10.4] 实现与好友聊天功能 182
10.3 将客户端分组 185
[实例10.5] 实现进群通知和退群通知 186
10.4 项目实战——聊天室 188
[实例10.6] 制作简单聊天室 188
10.4.1 服务器端代码实现 189
10.4.2 客户端代码实现 190
10.4.3 执行项目 191
本章知识思维导图 192
第3篇 异步编程与事件篇
第11章 异步编程与回调 194
11.1 同步和异步 195
11.2 回调函数 196
[实例11.1] 回调函数的简单应用 197
[实例11.2] 异步调用回调函数 197
11.3 使用async/await的异步回调 198
11.3.1 Promise基础 199
11.3.2 为什么使用async/await 199
11.3.3 async/await的使用 200
[实例11.3] 使用async/await执行异步回调 200
11.3.4 使用async/await异步回调的优点 201
本章知识思维导图 202
第12章 事件的监听与触发 203
12.1 EventEmitter对象 204
[实例12.1] 使用EventEmitter创建简单事件 204
[实例12.2] 演示项目中监听事件的添加与触发 205
12.2 添加和触发监听事件 205
12.2.1 添加监听事件 206
12.2.2 添加单次监听事件 207
[实例12.3] 使用emit方法触发事件 208
12.2.3 触发监听事件 208
[实例12.4] 使用emit方法触发事件 208
[实例12.5] 触发带参数的监听事件 209
12.3 删除监听事件 209
[实例12.6] 删除指定的监听事件 210
本章知识思维导图 211
第13章 程序调试与异常处理 212
13.1 使用console.log()调试程序 213
13.2 使用WebStorm调试程序 213
13.2.1 插入断点 214
13.2.2 删除断点 214
13.2.3 禁用断点 214
13.2.4 断点调试 215
13.3 Node.js程序异常处理 216
13.3.1 使用throw关键字抛出异常 216
13.3.2 Error错误对象 217
13.3.3 使用try…catch捕获异常 218
13.4 异步程序中的异常处理 219
本章知识思维导图 221
第4篇 框架及数据应用篇
第14章 express模块基础 224
14.1 认识 express模块 225
14.1.1 创建Web服务器 225
14.1.2 express模块中的响应对象 225
[实例14.1] 实现向客户端响应数组信息 226
14.1.3 express模块中的请求对象 227
[实例14.2] 判断当前请求用户使用浏览器的类型 227
14.2 express模块中的中间件 228
14.2.1 什么是中间件 228
14.2.2 router中间件 230
14.2.3 static中间件 231
[实例14.3] 实现向客户端返回图片 232
14.2.4 cookie parser中间件 232
14.2.5 body parser中间件 233
[实例14.4] 使用中间件实现登录验证功能 233
14.3 实现RESTful Web服务 235
[实例14.5] 实现用户信息的RESTful服务 236
14.3.1 创建数据库 236
14.3.2 实现GET请求 238
14.3.3 实现POST请求 238
[实例14.6] 实现JSON文件的RESTful Web 服务 240
本章知识思维导图 241
第15章 express高级应用之express-generato/ 242
15.1 认识 express-generator框架 243
15.1.1 创建项目 243
15.1.2 设置项目参数 245
15.2 express-generator的初体验 246
[实例15.1] 实现登录和退出功能 246
15.3 项目实战——选座购票 250
[实例15.2] 实现选座购票的功能 250
15.3.1 服务器端代码实现 251
15.3.2 客户端代码实现 252
15.3.3 执行项目 253
本章知识思维导图 254
第16章 Web开发中的模板引擎 255
16.1 ejs模块 256
16.1.1 ejs模块的渲染方法 256
[实例16.1] ejs初体验:使用ejs模板进行渲染 257
[实例16.2] 给客户端返回轨道交通信息 258
16.1.2 ejs模块的数据传递 260
[实例16.3] 返回美团外卖单据 260
16.2 pug模块 262
16.2.1 pug模块的渲染方法 262
[实例16.4] 模拟获取消费券页面 264
16.2.2 pug模块的数据传递 265
[实例16.5] 月度消费账单提醒 265
本章知识思维导图 267
第17章 Node.js与MySQL数据库 268
17.1 MySQL 数据库的下载、安装及配置使用 269
17.1.1 数据库简介 269
17.1.2 下载MySQL 269
17.1.3 安装MySQL 270
17.1.4 配置MySQL环境变量 276
17.1.5 启动MySQL 278
17.1.6 使用Navicat foMySQL管理软件 278
17.2 MySQL数据库操作基础 279
17.2.1 认识SQL语言 279
17.2.2 数据库操作 280
17.2.3 数据表操作 282
17.2.4 数据操作 285
17.3 在Node.js中操作MySQL数据库 289
17.3.1 mysql模块的基本操作 289
[实例17.1] 连接数据库并查询数据 290
17.3.2 Node.js中对MySQL数据库实现增删改查操作 293
[实例17.2] 小型图书管理系统 293
本章知识思维导图 300
第18章 Node.js与MongoDB数据库 301
18.1 认识MongoDB数据库 302
18.1.1 关系型数据库与非关系型数据库 302
18.1.2 下载MongoDB数据库 303
18.1.3 安装MongoDB数据库 304
18.1.4 配置并测试MongoDB数据库 307
18.2 MongoDB数据库基础 309
18.2.1 使用JavaScript语言 309
18.2.2 数据库、集合与文档 310
18.2.3 添加数据 311
18.2.4 查询数据 311
18.2.5 修改数据 313
18.2.6 删除数据 313
18.3 项目实战——心情日记 313
[实例18.1] 制作网站心情日记 313
18.3.1 初始化数据 314
18.3.2 主页的实现 315
18.3.3 添加日记 316
18.3.4 修改日记 317
18.3.5 删除日记 319
18.3.6 用户登录与登出 319
本章知识思维导图 321
第5篇 项目开发篇
第19章 网络版五子棋游戏 324 视频讲解:6节,33分钟
19.1 需求分析 325
19.2 游戏设计 325
19.2.1 游戏功能结构 325
19.2.2 游戏业务流程 326
19.2.3 游戏预览 326
19.3 游戏开发准备 327
19.3.1 游戏开发环境 327
19.3.2 游戏项目构成 328
19.4 登录游戏房间设计 328
19.4.1 登录游戏房间概述 328
19.4.2 登录游戏房间的实现 329
19.5 游戏玩家列表设计 330
19.5.1 游戏玩家列表概述 330
19.5.2 游戏玩家列表的实现 330
19.6 游戏对战设计 332
19.6.1 游戏对战概述 332
19.6.2 游戏对战页面初始化 332
19.6.3 绘制棋盘 334
19.6.4 游戏算法及胜负判定 336
19.6.5 重新开始游戏 337
19.6.6 更改棋盘颜色 338
本章知识思维导图 339
第20章 全栈博客网 340 视频讲解:7节,67分钟
20.1 需求分析 341
20.2 项目设计 341
20.2.1 功能结构 341
20.2.2 业务流程 341
20.2.3 项目预览 342
20.3 项目开发准备 343
20.3.1 项目开发环境 343
20.3.2 文件夹组织结构 344
20.4 注册页面设计 345
20.4.1 注册页面概述 345
20.4.2 顶部区和底部区功能的实现 345
20.4.3 注册功能的实现 348
20.5 登录页面设计 350
20.5.1 登录页面概述 350
20.5.2 登录功能的实现 351
20.6 文章功能模块设计 353
20.6.1 文章功能模块概述 353
20.6.2 发表文章功能的实现 354
20.6.3 个人主页的实现 356
20.6.4 修改文章功能的实现 358
20.6.5 删除文章功能的实现 360
20.7 留言功能设计 361
20.7.1 留言功能概述 361
20.7.2 留言功能的实现 361
本章知识思维导图 364
猜您喜欢