新書推薦:
《
亚述:世界历史上第一个帝国的兴衰
》
售價:NT$
490.0
《
人工智能与大数据:采煤机智能制造
》
售價:NT$
440.0
《
未来漫游指南:昨日科技与人类未来
》
售價:NT$
445.0
《
新民说·逝去的盛景:宋朝商业文明的兴盛与落幕(上下册)
》
售價:NT$
790.0
《
我从何来:自我的心理学探问
》
售價:NT$
545.0
《
失败:1891—1900 清王朝的变革、战争与排外
》
售價:NT$
390.0
《
送你一匹马(“我不求深刻,只求简单。”看三毛如何拒绝内耗,为自己而活)
》
售價:NT$
295.0
《
秦汉史讲义
》
售價:NT$
690.0
|
編輯推薦: |
《Node.js从基础到项目实践(视频教学版)》以理论结合实践的形式,讲解Node.js 基础、框架、进阶知识和项目实践。本书旨在帮助读者轻松、透彻地掌握Node.js技术,领悟到Node.js的开发精髓,快速提升至Node.js专业开发水平,真正迈入全栈工程师的行列。本书有以下特点。
(1)视频讲解,入门轻松。本书配套有相对应的视频讲解,通过视频讲解可快速切入主题,提高学习效率。
(2)案例丰富,本书几乎每个章节都提供了案例演示,且操作步骤详细,读者边学边做,可更有效地消化、理解所学的知识点。
(3)学以致用,实用性强。认真学习,可在短时间内掌握最实用的开发技巧。
(4)丰富的配套学习服务资源。为方便快速入门,本书配备了源码、课件、视频等学习资源,读者可扫描书中二维码学习、下载。
|
內容簡介: |
《Node.js从基础到项目实践(视频教学版)》以理论结合实践的形式,讲解了Node.js 基础、框架、进阶知识和项目实践。本书为视频教学版,每一章节都有相对应的视频讲解,通过视频讲解可快速切入主题,提高学习效率。 全书分为4 大部分,共13 章,分别是Node.js 基础入门、Node.js 框架、Node.js 进阶以及企业项目实践。其中,第1~3 章为Node.js 基础入门讲解,包括Node.js 核心模块、自定义模块、第三方模块;第4~7 章为Node.js 框架讲解,包括Express 流行框架、MySQL 数据库、在Express 框架中操作MySQL 数据库以及Express 框架身份验证;第8~12 章为Node.js 进阶讲解,包括Node.js 事件循环、Koa 框架、socket.io、网络爬虫、GraphQL 基础语法;第13 章为企业项目实践讲解,使用Express 框架和MySQL 数据库完成新闻管理系统API 的开发。
|
目錄:
|
第1章 Node.js 基础入门 1
1.1 回顾浏览器中的JavaScript 1
1.2 Node.js 简介 2
1.2.1 什么是Node.js 2
1.2.2 详解Node.js 运行环境 2
1.3 安装Node.js 运行环境 3
1.3.1 选择Node.js 版本 3
1.3.2 查看Node.js 版本号 3
1.4 在Node.js 中执行JavaScript 文件 4
1.5 Node.js 内置模块 5
1.5.1 fs 模块 5
1.5.2 path 模块 7
1.5.3 http 模块 10
1.5.4 http 模块综合案例 13
1.6 渲染数据列表 14
1.7 响应静态资源 16
第2章 Node.js 自定义模块 19
2.1 创建自定义模块 19
2.2 共享自定义模块的属性和方法 20
2.2.1 module 对象 20
2.2.2 自定义模块共享成员的注意事项 21
2.2.3 exports 对象 22
2.2.4 CommonJS 规范 25
第3章 Node.js 第三方模块 26
3.1 什么是包 26
3.2 npm 简介 26
3.2.1 nodemon 工具 27
3.2.2 第三方模块moment 28
3.2.3 第三方模块目录结构 29
3.2.4 包的分类 31
3.3 切换模块下载服务器 31
3.3.1 切换至淘宝镜像服务器 31
3.3.2 nrm 工具的使用 32
3.4 发布自定义模块包 33
3.4.1 包的结构规范 33
3.4.2 定义格式化日期模块 33
3.4.3 发布包 36
3.4.4 删除自定义模块包 38
第4章 Express 框架 39
4.1 什么是Express 39
4.1.1 Express 框架的基本使用 39
4.1.2 获取URL 参数 42
4.2 使用express.static()托管静态资源 43
4.3 Express 路由 45
4.3.1 路由的基本使用 45
4.3.2 模块化路由 46
4.4 Express 中间件 48
4.4.1 什么是中间件 48
4.4.2 定义Express 中间件 48
4.4.3 中间件的作用 50
4.4.4 定义多个全局中间件 51
4.4.5 局部中间件 52
4.4.6 中间件分类 54
4.5 使用Express 框架写接口 60
4.5.1 定义GET 请求接口 60
4.5.2 定义POST 请求接口 62
4.5.3 接口跨域 63
4.5.4 定义JSONP 接口 64
第5章 MySQL 数据库 66
5.1 什么是MySQL 数据库 66
5.2 Navicat 可视化管理工具 67
5.2.1 安装Navicat 可视化管理工具 67
5.2.2 使用Navicat 管理MySQL 数据库 68
5.2.3 创建数据表 69
5.3 使用SQL 语句管理数据库 70
5.3.1 SELECT 查询语句 70
5.3.2 INSERT INTO 插入语句 71
5.3.3 UPDATE 更新语句 72
5.3.4 DELETE 删除语句 73
5.3.5 WHERE 子句 73
5.3.6 AND 和OR 运算符 74
5.3.7 ORDER BY 子句 75
5.3.8 COUNT(*)函数 77
第6章 Express 框架操作MySQL 数据库 78
6.1 安装mysql 第三方模块 78
6.1.1 安装mysql 模块 78
6.1.2 执行SQL 语句 79
6.2 操作数据库 79
6.2.1 新增数据 80
6.2.2 更新数据 81
6.2.3 删除数据 83
第7章 Express 框架身份认证 84
7.1 Web 开发模式 84
7.2 身份认证分类 85
7.2.1 Session 认证机制 85
7.2.2 服务器端Session 认证 86
7.2.3 服务器端安装express-session 中间件 87
7.3 JWT 认证 89
7.3.1 什么是JWT 认证 89
7.3.2 在Express 项目中使用JWT 认证 90
第8章 Node.js 事件循环 93
8.1 浏览器中的事件循环 93
8.2 宏任务与微任务 96
8.3 多层嵌套promise 事件循环案例 97
8.4 混合嵌套事件循环案例 100
8.5 Node.js 事件循环 102
8.6 Node.js 事件循环案例 103
第9章 Koa 框架 106
9.1 安装Koa 框架 106
9.2 详解context 对象 107
9.2.1 context.request 属性 107
9.2.2 context.response 属性 108
9.3 加载HTML 文件 109
9.4 路由 110
9.5 模块化路由 112
9.6 URL 请求参数 114
9.7 koa-bodyparser 模块的使用 116
9.8 托管静态资源 118
9.9 异步处理 120
9.9.1 同步中间件执行顺序 120
9.9.2 异步中间件 121
9.10 错误类型中间件 123
9.11 接口跨域 126
9.12 身份认证 127
9.12.1 koa-session 认证 127
9.12.2 从Session 中读取数据 129
9.12.3 JWT 认证 130
9.12.4 测试JWT 认证 133
9.13 在Koa 中操作MySQL 134
9.14 Koa 框架项目实践 135
9.14.1 初始化项目 136
9.14.2 配置常用中间件 136
9.14.3 初始化路由模块 137
9.14.4 安装mysql 模块 139
9.14.5 实现注册API 接口 140
9.14.6 登录API 接口 144
9.14.7 Token 解密 147
9.15 模板引擎 148
第10章 socket.io 聊天室案例 151
10.1 什么是socket.io 151
10.1.1 项目初始化 152
10.1.2 登录聊天室 154
10.2 配置socket.io 155
10.2.1 配置服务器端 156
10.2.2 配置客户端 156
10.3 实现实时聊天 157
10.4 模拟Session 显示用户名 159
10.5 显示聊天室在线人数 162
10.6 私聊 164
10.7 群组聊天 166
第11章 网络爬虫 169
11.1 什么是爬虫 169
11.2 第一个爬虫程序 169
11.3 爬取前后端分离的网页内容 173
11.4 Selenium 简介 177
11.5 自动搜索 178
11.6 使用Selenium 实现爬虫功能 179
第12章 GraphQL 基础语法 184
12.1 什么是GraphQL 184
12.2 GraphQL 快速体验 184
12.3 GraphQL 服务器端代码解析 186
12.4 定义对象数据类型 188
12.5 参数传递 189
12.6 标量类型 191
12.7 枚举类型 192
12.8 input 输入类型 193
12.9 回调函数参数详解 195
第13章 新闻管理系统 199
13.1 初始化项目 199
13.2 配置常用中间件 200
13.3 创建路由模块 200
13.3.1 初始化路由模块 201
13.3.2 抽离路由模块事件处理函数 201
13.4 创建db_users 表 202
13.5 安装mysql 模块 203
13.6 注册API 接口 204
13.7 使用@escook/express-joi 中间件验证表单数据 208
13.8 登录API 接口 211
13.9 Token 解密 216
13.10 个人中心管理 217
13.10.1 获取当前用户的API 接口 218
13.10.2 更新用户信息的API 接口 221
13.10.3 重置密码的API 接口 224
13.10.4 更新用户头像的API 接口 229
13.11 新闻文章分类管理 232
13.11.1 新建db_article_nav 数据表 233
13.11.2 获取新闻文章分类的API 接口 233
13.11.3 新增新闻文章分类的API 接口 236
13.11.4 删除新闻文章分类的API 接口 241
13.11.5 根据id 获取新闻文章分类 245
13.11.6 根据id 更新新闻文章分类 248
13.12 新闻文章管理 253
13.12.1 新建db_article 数据表 253
13.12.2 发布新闻文章的API 接口 254
13.12.3 获取新闻文章列表的API 接口 260
13.12.4 根据id 删除新闻 264
13.12.5 根据id 获取新闻文章详情 267
|
內容試閱:
|
当下,各行各业都面临着大数据、人工智能、AR(augmented reality,增强现实)、VR(virtual reality,虚拟现实)等各种互联网新技术的冲击。在此技术背景下,Web前端行业也发生了巨大的改变,前端程序员已从单纯的切图处理发展到了需要处理多种后端业务。其中,Node.js就是连接前端和后端的一件利器。
准确地说,Node.js是专门为前端工程师打造的运行环境,可以让JavaScript变成一门后端语言,实现后端接口开发。因此,Node.js可以让前端工程师华丽转身,跨入全栈工程师的行列,拥有更多的技术优势。
本书内容
本书内容分为4大部分,系统地讲解了Node.js的各项基础知识、框架和进阶内容,同时给出了一个企业项目实践。具体结构划分如下。
第1部分为Node.js基础入门,包括第1~3章,主要讲解Node.js核心API,掌握核心模块、自定义模块、第三方模块的使用,实现服务器的创建。
第2部分为Node.js框架,包括第4~7章,主要讲解当前比较流行的Express框架以及MySQL数据库,Web开发模式和不同开发模式对应的身份验证,实现接口API的开发。精通本章知识,标志着读者可正式跨入全栈工程师的行列。
第3部分为Node.js进阶,包括第8~12章,主要讲解事件循环、高级框架、高级模块的使用,读者可畅快地体验新技术带来的乐趣,如自行开发一个爬虫程序。
第4部分为企业项目实践,包括第13章,主要讲解新闻管理系统API的开发,使读者掌握项目实践的开发技巧。
本书特点
(1)简明易学,入门轻松
本书语言通俗易懂,知识讲解简洁明了,直指核心,甚少有冗余、无用的话;同时理论结合案例,使读者能快速悟到Node.js的开发精髓。
(2)实用性强
本书是笔者对多年Node.js实践经验的干货分享,知识虽多,但并非平铺直叙。哪些技术点能在实际工作中用到,哪些技巧能帮助读者节省大量的时间和精力,所有的实践经验都在本书的内容设计中一一体现。因此,本书的实用性极强,读者认真地学习,可以在短时间内掌握最实用的开发技巧。
(3)案例丰富
本书几乎每个章节都提供了案例演示,且操作步骤详细,读者边学边做,可更有效地消化、理解所学的知识点。只要能独立完成书中的案例,即可达到专业的Node.js开发水平。
(4)视频讲解
本书几乎每个章节都提供了详尽的同步教学视频,跟着视频学,不但对操作过程看得更清晰,而且可快速切入主题,提高学习效率。
配套学习资源
为方便读者快速入门,本书配备了源码、课件、视频等学习资源,读者可扫描书中二维码学习、下载。具体资源如下:全书案例源码、项目实战源码,同步教学视频,教学课件PPT。
同时,Node.js技术更迭很快,笔者会不定期地推出一些新的视频,如介绍新的技术框架、新的版本知识等。该部分内容会持续更新,读者可扫描书中二维码关注、了解,持续提升自己。
读者对象
本书适用于网页设计与制作人员、网站建设开发人员、院校相关专业的学生、后端工程师、个人Web开发爱好者学习。
本书在编写过程中历经多次勘校、查证,力求减少差错,尽善尽美,但由于笔者水平有限,书中难免存在遗漏的问题,欢迎读者批评指正。
不管未来的技术如何更迭,希望读者能一步一步脚踏实地,朝着心中希望的结果前行。祝大家学习快乐!
|
|