本书具有如下特色:? 由浅深,循序渐。本书以门读者为对象,先从语言基础学起,再学习语言的核心技术,然后学习高 级应用,*后学习发一个完整项目。讲解过程中步骤详尽,版式新颖,使读者在阅读时一目了然,从而快速掌握书中内容。? 语音视频,讲解详尽。书中每一章节均提供声图并茂的教学视频,读者可以扫描书中对应的二维码随时随地学习。这些视频能够引导初学者快速门,感受编程的快乐和成就感,增强一步学习的信心,从而快速成为编程高手。? 实例典型,轻松易学。通过例子学习是好的学习方式,本书通过“一个知识、一个例子、一个结果、一段评析、一个综合应用”的模式,透彻详尽地讲述了实际发中所需的各类知识。另外,为了便于读者阅读程序代码,快速学习编程技能,书中几乎每行代码都提供了注释。 ? 精彩栏目,贴心提醒。本书根据需要在各章安排了很多“注意”“说明”“技巧”等小栏目,让读者可以在学习过程中更轻松地理解相关知识及概念,更快地掌握个别技术的应用技巧。? 附赠资源,优质服务。除配套视频和源程序外,本书还赠送相关资源库、题库,同时为读者提供社区技术支持、QQ在线答疑等学习服务,收获更好的学习体验。
售 价:¥
纸质售价:¥97.00购买纸书
6.7
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐

内容提要
前言
第1篇 Node.js基础篇
第1章 初识Node.js
1.1 Node.js简介
1.1.1 Web和互联网
1.1.2 V8引擎和Node.js
1.1.3 Node.js的优缺点
1.2 Node.js的下载与安装
1.2.1 下载并安装Node.js
1.2.2 测试Node.js是否安装成功
1.3 WebStorm开发环境的下载与安装
1.3.1 WebStorm的下载
1.3.2 WebStorm的安装
1.4 第一个Node.js服务器程序
1.4.1 WebStorm首次加载配置
1.4.2 使用WebStorm创建第一个Node.js程序
1.4.3 在WebStorm中运行Node.js程序
1.4.4 使用cmd命令运行Node.js程序
1.5 熟悉WebStorm开发环境
1.5.1 WebStorm功能区预览
1.5.2 WebStorm中英文对照菜单
1.5.3 常用工具栏
1.5.4 常用快捷键
1.5.5 WebStorm常用技巧
本章知识思维导图
第2章 JavaScript基础
2.1 JavaScript概述
2.1.1 Node.js与JavaScript
2.1.2 什么是JavaScript语言
2.1.3 为什么学习JavaScript语言
2.1.4 JavaScript的应用
2.2 JavaScript在HTML中的使用
2.2.1 在页面中直接嵌入JavaScript代码
[实例2.1] 编写第一个JavaScript程序
2.2.2 链接外部JavaScript文件
[实例2.2] 调用外部JavaScript文件
2.2.3 作为标签的属性值使用
2.3 JavaScript基本语法规则
2.4 JavaScript数据类型
2.4.1 数值型
2.4.2 字符串型
[实例2.3] 输出前NBA球星奥尼尔的中文名、英文名和别名
2.4.3 布尔值和特殊数据类型
2.5 JavaScript流程控制
2.5.1 条件判断语句
[实例2.4] 判断2021年的2月份有多少天
[实例2.5] 判断学生的成绩等级
2.5.2 循环控制语句
2.6 JavaScript函数
2.6.1 函数的定义
2.6.2 函数的调用
[实例2.6] 为商城中“加入购物车”按钮添加单击事件
2.7 DOM文档对象模型
2.7.1 DOM概述
2.7.2 DOM对象节点属性
2.7.3 DOM对象的应用
[实例2.7] 实现电影图片的轮换效果
2.8 Document文档对象
2.8.1 Document文档对象介绍
2.8.2 Document文档对象的常用属性
2.8.3 Document文档对象的常用方法
2.8.4 设置文档前景色和背景色
[实例2.8] 动态改变文档的前景色和背景色
2.8.5 设置动态标题栏
[实例2.9] 实现动态标题栏
2.8.6 在文档中输出数据
[实例2.10] 对比write()方法和writeln()方法
2.8.7 获取文本框并修改其内容
[实例2.11] 获取文本框并修改其内容
2.9 Window对象
2.9.1 Window对象的属性
2.9.2 Window对象的方法
2.9.3 Window对象的使用
本章知识思维导图
第3章 npm包管理器
3.1 npm包管理器简介
3.1.1 npm简介
3.1.2 npm的版本
3.1.3 npm常见软件包
3.2 package.json基础
3.2.1 认识package.json
3.2.2 npm中的package-lock.json文件
3.3 使用npm包管理器安装包
3.3.1 安装单个软件包
3.3.2 安装npm包的指定版本
3.3.3 安装所有软件包
3.3.4 更新软件包
3.3.5 指定npm软件包的安装位置
3.3.6 卸载npm软件包
3.4 使用npm安装的软件包
[实例3.1] 使用npm安装的软件包
本章知识思维导图
第4章 Node.js基础
4.1 Node.js全局对象
4.1.1 全局变量
4.1.2 全局对象
[实例4.1] argv属性和exit()方法的初级使用
4.1.3 全局函数
4.2 模块化编程
4.2.1 exports 对象
[实例4.2] 计算绝对值与圆的周长
4.2.2 module 对象
[实例4.3] 使用module模块实现向2021年问好
4.3 node.js常用工具——util模块
4.3.1 转换异步函数的风格
4.3.2 实现对象间的原型继承
4.3.3 将对象转换为字符串
4.3.4 格式化输出字符串
4.3.5 将异步回调方法变成返回Promise实例的方法
4.3.6 判断是否为指定类型的内置对象
4.4 常用内置模块
4.4.1 url模块
4.4.2 Query String模块
4.4.3 crypto模块
[实例4.4] 使用crypto模块生成Hash密码
本章知识思维导图
第2篇 Node.js核心模块篇
第5章 http模块
5.1 Web应用服务
5.1.1 请求与响应
5.1.2 客户端与服务器端
5.2 server对象
5.2.1 server对象中的方法
5.2.2 server对象中的事件
5.3 response对象
5.3.1 响应HTML文件
[实例5.1] 使用fs模块将HTML文件返回给客户端
5.3.2 响应多媒体
[实例5.2] 实现将图片和视频返回客户端
5.3.3 网页自动跳转
[实例5.3] 实现网页自动跳转
5.4 request对象
5.4.1 GET请求
5.4.2 POST请求
[实例5.4] 使用POST请求获取用户名与密码
本章知识思维导图
第6章 fs文件及文件夹操作模块
6.1 文件基本操作
6.1.1 检查文件是否存在
6.1.2 文件读取
[实例6.1] 实现cmd控制台的歌词滚动播放器
6.1.3 文件写入
[实例6.2] 创建文件并且向文件中写入内容
[实例6.3] 为古诗增加古诗赏析
6.1.4 异常处理
6.2 文件其他操作
6.2.1 截断文件
[实例6.4] 修改文本文件的大小
6.2.2 删除文件
[实例6.5] 删除文件
6.2.3 复制文件
[实例6.6] 复制文件
6.2.4 重命名文件
[实例6.7] 批量为文件重命名
6.3 目录常用操作
6.3.1 创建目录
[实例6.8] 批量创建文件并放到指定的文件夹中
6.3.2 读取目录
6.3.3 删除空目录
6.3.4 查看目录信息
6.3.5 获取目录的绝对路径
本章知识思维导图
第7章 path路径操作模块
7.1 绝对路径和相对路径
[实例7.1] 实现cmd控制台读取文件
7.2 通过路径获取文件详细信息
7.2.1 获取文件所在目录
7.2.2 获取文件名
7.2.3 获取扩展名
[实例7.2] 通过扩展名判断文件夹中的图片文件
7.2.4 解析路径的组成
7.2.5 从对象返回路径字符串
[实例7.3] 通过路径的信息将其转换为路径字符串
7.2.6 判断路径是否为绝对路径
[实例7.4] 判断并显示所有的绝对路径
7.3 实现对路径的解析
7.3.1 将路径解析为绝对路径
[实例7.5] resolve()方法的使用
7.3.2 实现将路径转换为相对路径
[实例7.6] 将列表中的绝对路径转换为相对路径
7.3.3 多路径的拼接
7.3.4 规范化路径
7.4 path模块的相关属性
本章知识思维导图
第8章 os操作系统模块
8.1 获取内存相关信息
8.1.1 获取系统剩余内存
8.1.2 获取系统总内存
[实例8.1] 显示系统的内存使用情况
8.2 获取网络相关信息
8.3 获取系统相关的目录
8.3.1 获取用户主目录
8.3.2 获取临时文件夹目录
8.4 通过os模块获取系统相关信息
[实例8.2] 获取计算机操作系统的相关信息
[实例8.3] 查看计算机的运行时间
8.5 os模块常用属性
本章知识思维导图
第9章 Node.js中的流
9.1 流简介
9.1.1 流的基本概念
9.1.2 了解Buffer
9.2 创建可读流
9.2.1 流的读取模式与状态
9.2.2 可读流的相关事件
9.2.3 读取数据
9.2.4 设置编码格式
9.2.5 暂停流
9.2.6 获取流的运行状态
9.2.7 销毁数据
9.2.8 绑定可写流至可读流
9.2.9 解绑可写流
9.2.10 可读流的相关属性
9.3 创建可写流
9.3.1 可写流的相关事件
9.3.2 创建可写流
9.3.3 设置流的编码方式
9.3.4 关闭流
9.3.5 销毁流
9.3.6 将数据缓冲到内存
9.3.7 输出缓冲后的数据
9.3.8 可写流的相关属性
9.4 双工流与转换流
9.4.1 双工流的使用
9.4.2 转换流的使用
9.5 使用流操作文件
9.5.1 创建文件可读流
[实例9.1] 读取文件的指定内容
9.5.2 创建文件可写流
[实例9.2] 使用可写流为文件追加内容
本章知识思维导图
第10章 socket.io模块
10.1 socket.io模块基本操作
10.1.1 创建WebSocket服务器
10.1.2 创建WebSocket客户端
10.1.3 创建WebSocket事件
[实例10.1] 实现服务器端与客户端之间的通信
10.2 socket通信的类型
10.2.1 public通信类型
[实例10.2] 使用socket发布一则通知
10.2.2 broadcast通信类型
[实例10.3] 实现群发消息功能
10.2.3 private通信类型
[实例10.4] 实现与好友聊天功能
10.3 将客户端分组
[实例10.5] 实现进群通知和退群通知
10.4 项目实战——聊天室
[实例10.6] 制作简单聊天室
10.4.1 服务器端代码实现
10.4.2 客户端代码实现
10.4.3 执行项目
本章知识思维导图
第3篇 异步编程与事件篇
第11章 异步编程与回调
11.1 同步和异步
11.2 回调函数
[实例11.1] 回调函数的简单应用
[实例11.2] 异步调用回调函数
11.3 使用async/await的异步回调
11.3.1 Promise基础
11.3.2 为什么使用async/await
11.3.3 async/await的使用
[实例11.3] 使用async/await执行异步回调
11.3.4 使用async/await异步回调的优点
本章知识思维导图
第12章 事件的监听与触发
12.1 EventEmitter对象
[实例12.1] 使用EventEmitter创建简单事件
[实例12.2] 演示项目中监听事件的添加与触发
12.2 添加和触发监听事件
12.2.1 添加监听事件
12.2.2 添加单次监听事件
[实例12.3] 使用emit方法触发事件
12.2.3 触发监听事件
[实例12.4] 使用emit方法触发事件
[实例12.5] 触发带参数的监听事件
12.3 删除监听事件
[实例12.6] 删除指定的监听事件
本章知识思维导图
第13章 程序调试与异常处理
13.1 使用console.log()调试程序
13.2 使用WebStorm调试程序
13.2.1 插入断点
13.2.2 删除断点
13.2.3 禁用断点
13.2.4 断点调试
13.3 Node.js程序异常处理
13.3.1 使用throw关键字抛出异常
13.3.2 Error错误对象
13.3.3 使用try…catch捕获异常
13.4 异步程序中的异常处理
本章知识思维导图
第4篇 框架及数据应用篇
第14章 express模块基础
14.1 认识 express模块
14.1.1 创建Web服务器
14.1.2 express模块中的响应对象
[实例14.1] 实现向客户端响应数组信息
14.1.3 express模块中的请求对象
[实例14.2] 判断当前请求用户使用浏览器的类型
14.2 express模块中的中间件
14.2.1 什么是中间件
14.2.2 router中间件
14.2.3 static中间件
[实例14.3] 实现向客户端返回图片
14.2.4 cookie parser中间件
14.2.5 body parser中间件
[实例14.4] 使用中间件实现登录验证功能
14.3 实现RESTful Web服务
[实例14.5] 实现用户信息的RESTful服务
14.3.1 创建数据库
14.3.2 实现GET请求
14.3.3 实现POST请求
[实例14.6] 实现JSON文件的RESTful Web 服务
本章知识思维导图
第15章 express高级应用之express-generator
15.1 认识 express-generator框架
15.1.1 创建项目
15.1.2 设置项目参数
15.2 express-generator的初体验
[实例15.1] 实现登录和退出功能
15.3 项目实战——选座购票
[实例15.2] 实现选座购票的功能
15.3.1 服务器端代码实现
15.3.2 客户端代码实现
15.3.3 执行项目
本章知识思维导图
第16章 Web开发中的模板引擎
16.1 ejs模块
16.1.1 ejs模块的渲染方法
[实例16.1] ejs初体验:使用ejs模板进行渲染
[实例16.2] 给客户端返回轨道交通信息
16.1.2 ejs模块的数据传递
[实例16.3] 返回美团外卖单据
16.2 pug模块
16.2.1 pug模块的渲染方法
[实例16.4] 模拟获取消费券页面
16.2.2 pug模块的数据传递
[实例16.5] 月度消费账单提醒
本章知识思维导图
第17章 Node.js与MySQL数据库
17.1 MySQL 数据库的下载、安装及配置使用
17.1.1 数据库简介
17.1.2 下载MySQL
17.1.3 安装MySQL
17.1.4 配置MySQL环境变量
17.1.5 启动MySQL
17.1.6 使用Navicat for MySQL管理软件
17.2 MySQL数据库操作基础
17.2.1 认识SQL语言
17.2.2 数据库操作
17.2.3 数据表操作
17.2.4 数据操作
17.3 在Node.js中操作MySQL数据库
17.3.1 mysql模块的基本操作
[实例17.1] 连接数据库并查询数据
17.3.2 Node.js中对MySQL数据库实现增删改查操作
[实例17.2] 小型图书管理系统
本章知识思维导图
第18章 Node.js与MongoDB数据库
18.1 认识MongoDB数据库
18.1.1 关系型数据库与非关系型数据库
18.1.2 下载MongoDB数据库
18.1.3 安装MongoDB数据库
18.1.4 配置并测试MongoDB数据库
18.2 MongoDB数据库基础
18.2.1 使用JavaScript语言
18.2.2 数据库、集合与文档
18.2.3 添加数据
18.2.4 查询数据
18.2.5 修改数据
18.2.6 删除数据
18.3 项目实战——心情日记
[实例18.1] 制作网站心情日记
18.3.1 初始化数据
18.3.2 主页的实现
18.3.3 添加日记
18.3.4 修改日记
18.3.5 删除日记
18.3.6 用户登录与登出
本章知识思维导图
第5篇 项目开发篇
第19章 网络版五子棋游戏
19.1 需求分析
19.2 游戏设计
19.2.1 游戏功能结构
19.2.2 游戏业务流程
19.2.3 游戏预览
19.3 游戏开发准备
19.3.1 游戏开发环境
19.3.2 游戏项目构成
19.4 登录游戏房间设计
19.4.1 登录游戏房间概述
19.4.2 登录游戏房间的实现
19.5 游戏玩家列表设计
19.5.1 游戏玩家列表概述
19.5.2 游戏玩家列表的实现
19.6 游戏对战设计
19.6.1 游戏对战概述
19.6.2 游戏对战页面初始化
19.6.3 绘制棋盘
19.6.4 游戏算法及胜负判定
19.6.5 重新开始游戏
19.6.6 更改棋盘颜色
本章知识思维导图
第20章 全栈博客网
20.1 需求分析
20.2 项目设计
20.2.1 功能结构
20.2.2 业务流程
20.2.3 项目预览
20.3 项目开发准备
20.3.1 项目开发环境
20.3.2 文件夹组织结构
20.4 注册页面设计
20.4.1 注册页面概述
20.4.2 顶部区和底部区功能的实现
20.4.3 注册功能的实现
20.5 登录页面设计
20.5.1 登录页面概述
20.5.2 登录功能的实现
20.6 文章功能模块设计
20.6.1 文章功能模块概述
20.6.2 发表文章功能的实现
20.6.3 个人主页的实现
20.6.4 修改文章功能的实现
20.6.5 删除文章功能的实现
20.7 留言功能设计
20.7.1 留言功能概述
20.7.2 留言功能的实现
本章知识思维导图
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜