从零开始学Node.js

从零开始学Node.js
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: 编著
2022-09
版次: 1
ISBN: 9787122413260
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 364页
字数: 582千字
3人买过
  • 本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习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初学者、软件开发入门者自学使用,也可用作高等院校相关专业的教材及参考书。 第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

     
  • 内容简介:
    本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习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初学者、软件开发入门者自学使用,也可用作高等院校相关专业的教材及参考书。
  • 目录:
    第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

     
查看详情
您可能感兴趣 / 更多
从零开始学Node.js
MySQL快速入门到精通
明日科技 编著
从零开始学Node.js
Python游戏开发快速入门到精通
明日科技 编著
从零开始学Node.js
Python OpenCV快速入门到精通
明日科技 编著
从零开始学Node.js
Spring快速入门到精通
明日科技 编著
从零开始学Node.js
快速上手Python:基础·进阶·实战
明日科技 编著
从零开始学Node.js
从零开始学HTML5+CSS3+JavaScript
明日科技 编著
从零开始学Node.js
从零开始学Vue.js
明日科技 编著
从零开始学Node.js
从零开始学Java
明日科技 编著
从零开始学Node.js
从零开始学C++
明日科技 编著
从零开始学Node.js
从零开始学Spring Boot
明日科技 编著
从零开始学Node.js
从零开始学MySQL
明日科技 编著
从零开始学Node.js
从零开始学ASP.NET
明日科技 编著