Node.js应用开发
作者:唐小燕
出版时间: 2021年版
内容简介
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用来编写服务器端程序。Node.js是新兴的开发工具,也是目前发展较快的开发工具之一。近几年来,随着Node.js的发展,越来越多的开发人员选择用它构建Web应用。本书较为系统地介绍了目前Node.js应用开发中涉及的基础知识和核心技术,并通过案例介绍了基于Express和Koa框架的项目开发。本书着重实际应用,案例及实训项目的实用性和可操作性强,能够帮助读者学以致用。全书共分10章,主要包括Node.js认知、模块机制、Node.js异步编程、Buffer缓存区和文件系统、构建Web应用、Express框架、Express模板引擎、数据库应用开发、Koa框架、项目优化及线上部署等Web应用开发中为重要的内容。本书可作为本科和高职院校计算机相关专业的教材,也可作为计算机培训用教材,还可作为计算机相关技术爱好者的自学参考书。
目录
目录
第 1章
Node.js认知 1
1.1 Node.js简介 1
1.1.1 什么是Node.js 1
1.1.2 Node.js发展历史 1
1.1.3 Node.js特点及应用场景 2
1.1.4 Node.js与JavaScript的区别 3
1.2 Node.js环境安装 3
1.2.1 下载Node.js 3
1.2.2 安装Node.js 4
1.2.3 安装Node.js程序编辑环境 5
1.3 第 一个Node.js程序 7
1.3.1 编写Node.js程序 7
1.3.2 运行Node.js程序 8
1.4 Node.js控制台Console 12
1.4.1 Console常用方法 12
1.4.2 项目实训——Console控制台的使用 16
1.5 本章小结 20
1.6 本章习题 20
第 2章
模块机制 21
2.1 什么是模块 21
2.1.1 模块的定义 21
2.1.2 模块的优点 21
2.1.3 模块化规范 22
2.1.4 项目实训——模块化输出九九乘法表 27
2.2 Node.js模块基础 28
2.2.1 模块的分类 28
2.2.2 自定义模块 28
2.2.3 项目实训——模块化实现四则混合运算 30
2.3 包与NPM 31
2.3.1 包 31
2.3.2 NPM 33
2.3.3 自定义项目包 35
2.3.4 CNPM和YARN安装与使用 37
2.3.5 项目实训——模块化显示日期 39
2.4 本章小结 39
2.5 本章习题 40
第3章
Node.js异步编程 41
3.1 回调函数 41
3.1.1 阻塞 42
3.1.2 非阻塞 43
3.2 异步编程 45
3.2.1 事件发布/订阅模式 45
3.2.2 Promise/Deferred模式 46
3.2.3 流程控制库 51
3.2.4 项目实训——显示天气预报数据 52
3.3 本章小结 55
3.4 本章习题 55
第4章
Buffer缓存区和文件系统 56
4.1 Buffer缓存区 56
4.1.1 Buffer简介 56
4.1.2 常用的Buffer类API 58
4.1.3 Buffer与字符编码 60
4.1.4 项目实训——Buffer缓存区操作 61
4.2 fs文件基本操作 64
4.2.1 fs简介 64
4.2.2 打开/关闭文件 65
4.2.3 读取/写入文件 68
4.2.4 删除文件 70
4.2.5 读取目录 71
4.2.6 项目实训——JSON文件数据操作 71
4.3 流 75
4.3.1 fs流简介 75
4.3.2 创建流 77
4.3.3 管道流 79
4.3.4 链式流 80
4.3.5 项目实训——XML文件转JSON文件 81
4.4 本章小结 83
4.5 本章习题 83
第5章
构建Web应用 85
5.1 HTTP 85
5.1.1 HTTP原理 85
5.1.2 请求报文 87
5.1.3 响应报文 89
5.2 http模块 92
5.2.1 http模块介绍 92
5.2.2 HTTP服务端 93
5.2.3 HTTP客户端 98
5.2.4 http.ServerRequest和http.request 100
5.2.5 项目实训——前后端交互显示省份信息 100
5.3 path模块和url模块 104
5.3.1 path模块 104
5.3.2 url模块 107
5.3.3 项目实训——为前端提供数据接口 110
5.4 本章小结 115
5.5 本章习题 115
第6章
Express框架 116
6.1 Express简介与安装 116
6.1.1 Express简介 116
6.1.2 Express安装 116
6.1.3 项目实训——搭建框架项目 118
6.2 路由配置 121
6.2.1 路由介绍 121
6.2.2 App级别路由 121
6.2.3 Router级别路由 127
6.3 中间件使用 129
6.3.1 自定义中间件 130
6.3.2 第三方中间件 130
6.3.3 内置中间件 133
6.3.4 错误中间件 135
6.3.5 项目实训——中间件访问静态文件 136
6.4 请求与响应 139
6.4.1 请求对象 139
6.4.2 响应对象 144
6.5 cookie 148
6.5.1 cookie工作原理 148
6.5.2 cookie的设置与获取 149
6.5.3 项目实训——Cookie验证登录 151
6.6 session 157
6.6.1 session工作原理 157
6.6.2 session的安装配置与设置获取 158
6.7 Postman接口测试 160
6.7.1 软件安装 160
6.7.2 接口测试与导出接口集 163
6.8 本章小结 165
6.9 本章习题 165
第7章
Express模板引擎 167
7.1 pug模板引擎 167
7.1.1 pug模板简介 167
7.1.2 pug模板文件的编译 168
7.1.3 pug语法 169
7.2 ejs模板引擎 194
7.2.1 ejs标签含义 194
7.2.2 ejs中的include 194
7.3 Express框架中集成模板引擎 195
7.3.1 pug模板在Express框架中的集成 196
7.3.2 ejs模板在Express框架中的集成 198
7.3.3 项目实训——渲染商品信息 201
7.4 本章小结 208
7.5 本章习题 208
第8章
数据库应用开发 209
8.1 连接MySQL数据库 209
8.1.1 安装MySQL 209
8.1.2 MySQL常用语句 218
8.1.3 连接MySQL数据库 221
8.1.4 数据库操作 222
8.1.5 项目实训——学生信息管理 224
8.2 连接MongoDB数据库 228
8.2.1 MongoDB安装与配置 228
8.2.2 MongoDB基本操作 235
8.2.3 Mongoose数据库操作 236
8.2.4 项目实训——商品信息管理 238
8.3 综合项目实训——学生信息页面管理 243
8.4 本章小结 253
8.5 本章习题 253
第9章
Koa框架 255
9.1 Koa框架简介 255
9.1.1 Koa与Express的区别 255
9.1.2 Koa 1和Koa 2 257
9.1.3 安装NVM控制Node.js版本 260
9.2 应用程序和上下文 262
9.2.1 语法糖 262
9.2.2 HTTP服务 263
9.2.3 上下文(Context) 263
9.3 Koa路由 265
9.4 静态资源访问 268
9.5 综合项目实训——商品信息显示 271
9.6 本章小结 278
9.7 本章习题 278
第 10章
项目优化及线上部署 280
10.1 性能优化 280
10.1.1 使用CDN 280
10.1.2 减少HTTP请求数 280
10.1.3 优化图片 281
10.1.4 将外部脚本置底 282
10.1.5 使用Webpack压缩打包 282
10.2 服务器部署和发布 285
10.2.1 购买服务器 285
10.2.2 购买域名 286
10.2.3 安装系统 286
10.2.4 设置项目环境 287
10.3 本章习题 291
附录
JavaScript知识点摘要 292