目录
第1章Node.js开发基础1
1.1Node.js概述1
1.1.1Node.js简介1
1.1.2发展历史1
1.1.3架构组成2
1.1.4应用场景3
1.2Node.js安装配置4
1.3Node.js应用开发5
1.3.1创建Node.js应用5
1.3.2创建Node.js Web应用6
1.4开发工具及调试7
1.4.1开发工具7
1.4.2调试Node.js程序9
第2章Node.js模块化管理11
2.1JavaScript模块化11
2.1.1JavaScript模块化简介11
2.1.2发展历史11
2.1.3CommonJS模块化规范13
2.1.4异步模块化规范14
2.1.5ES6模块化规范14
2.2Node.js模块分类16
2.2.1内置模块16
2.2.2第三方模块17
2.2.3自定义模块17
2.3npm19
2.3.1npm简介19
2.3.2npm常用命令20
2.3.3使用npm管理模块21
2.3.4使用Yarn管理模块22
2.4习题24
第3章JavaScript基础25
3.1JavaScript简介25
3.2JavaScript语法基础26
3.2.1变量与数据类型26
3.2.2运算符27
3.2.3表达式28
3.3程序控制结构29
3.3.1顺序结构29
3.3.2分支结构30
3.3.3循环结构31
3.4函数32
3.4.1函数定义32
3.4.2函数作用域33
3.4.3函数参数33
3.4.4函数返回值35
3.5数据结构36
3.5.1数组36
3.5.2对象38
3.5.3Map40
3.5.4Set41
3.6类43
3.6.1创建类43
3.6.2构造方法43
3.6.3继承44
3.7异步编程46
3.7.1异步编程简介46
3.7.2回调函数47
3.7.3Promise49
3.7.4async/await51
3.8习题52
第4章Node.js内置模块54
4.1Node.js模块基础54
4.1.1模块简介54
4.1.2全局对象55
4.1.3控制台模块56
4.1.4Error对象56
4.1.5process对象58
4.2事件触发器60
4.2.1事件循环60
4.2.2事件驱动61
4.2.3EventEmitter类62
4.3定时器64
4.4文件系统模块65
4.5路径模块67
4.6网络模块69
4.6.1net模块69
4.6.2http模块71
4.6.3tls模块73
4.7习题75
第5章数据库操作77
5.1Node.js操作MySQL77
5.1.1安装MySQL77
5.1.2MySQL基本命令80
5.1.3在Node.js中操作MySQL83
5.2Node.js操作MongoDB86
5.2.1安装MongoDB86
5.2.2MongoDB核心概念88
5.2.3MongoDB基本命令89
5.2.4在Node.js中操作MongoDB92
5.3Node.js操作Redis96
5.3.1安装Redis96
5.3.2Redis基本命令99
5.3.3在Node.js中操作Redis102
5.4习题104
第6章Express框架106
6.1Express框架入门106
6.1.1Express简介106
6.1.2Express基本使用106
6.1.3托管静态资源107
6.2Express路由108
6.2.1路由简介108
6.2.2路由方法109
6.2.3路由路径111
6.2.4响应方法112
6.3Express中间件113
6.3.1中间件简介113
6.3.2中间件类型114
6.3.3自定义中间件116
6.4Express核心对象117
6.4.1模块方法117
6.4.2Application对象118
6.4.3Request对象119
6.4.4Response对象119
6.4.5Router对象120
6.5Express数据库操作121
6.5.1基本概念121
6.5.2操作MySQL122
6.5.3操作MongoDB125
6.6习题127
第7章Koa框架128
7.1Koa快速入门128
7.1.1Koa框架简介128
7.1.2Koa基本使用129
7.1.3Koa与Express的区别131
7.2Koa核心对象132
7.2.1Context对象132
7.2.2Request对象133
7.2.3Response对象133
7.3Koa路由134
7.3.1基本用法134
7.3.2路由参数135
7.3.3路由模块化138
7.4Koa中间件139
7.4.1中间件简介139
7.4.2中间件分类140
7.4.3静态资源托管142
7.4.4视图模板渲染144
7.4.5常用中间件146
7.5Koa数据库操作150
7.5.1操作MySQL150
7.5.2操作MongoDB154
7.6习题157
第8章Egg框架158
8.1Egg快速入门158
8.1.1Egg简介158
8.1.2Egg项目示例159
8.2Egg路由160
8.2.1基本使用160
8.2.2路由参数161
8.2.3路由重定向162
8.3Egg控制器163
8.3.1基本使用163
8.3.2请求参数164
8.3.3调用服务层164
8.3.4返回响应165
8.4Egg服务166
8.4.1服务简介166
8.4.2服务基本使用166
8.4.3使用ORM框架169
8.5Egg中间件174
8.5.1中间件简介174
8.5.2基本使用174
8.5.3中间件配置175
8.6Egg插件176
8.6.1插件简介176
8.6.2常用插件177
8.6.3模板引擎180
8.6.4自定义插件182
8.7习题185
第9章严选电商服务器API187
9.1项目概述187
9.1.1需求分析187
9.1.2技术选型188
9.1.3数据库设计189
9.2项目搭建189
9.2.1初始化项目189
9.2.2JWT认证190
9.2.3登录接口191
9.3首页模块196
9.3.1轮播图接口196
9.3.2商品推荐接口198
9.3.3消息通知接口200
9.4商品详情模块202
9.4.1商品信息接口202
9.4.2评价接口204
9.5购物车模块206
9.6订单模块209
9.7集成Swagger212
第10章严选电商网站开发215
10.1项目搭建215
10.1.1初始化项目215
10.1.2引入SCSS216
10.1.3集成Redux219
10.2用户登录与退出220
10.3主页面224
10.3.1导航栏225
10.3.2轮播图226
10.3.3人气推荐227
10.3.4消息通知229
10.4商品详情页231
10.4.1商品详情231
10.4.2商品评价233
10.4.3加入购物车235
10.5购物车管理236
10.5.1购物车列表237
10.5.2购物车操作238
10.5.3商品结算240
10.6订单管理243
第11章网易云音乐网站247
11.1项目背景247
11.2服务器开发248
11.2.1接口管理工具248
11.2.2Apifox249
11.3项目搭建252
11.3.1初始化项目252
11.3.2引入Tailwind CSS253
11.3.3网络请求255
11.3.4路由管理257
11.3.5引入Pinia258
11.3.6侧边导航栏261
11.3.7播放器控制栏262
11.4推荐模块265
11.4.1专属歌单265
11.4.2推荐MV266
11.4.3歌曲搜索268
11.5歌单播放269
11.5.1歌单信息270
11.5.2歌单列表271
11.5.3歌单评论273
11.6MV276
11.6.1MV主页276
11.6.2MV详情页278
11.7音乐馆279
11.7.1音乐馆主页279
11.7.2排行榜281
11.7.3歌手聚合页283
11.7.4歌手详情页286
第12章项目构建与部署289
12.1概述289
12.2服务器部署290
12.2.1PM2部署290
12.2.2Vercel部署292
12.2.3Serverless部署294
12.3前端部署297
12.3.1修改默认配置297
12.3.2构建生产版本299
12.3.3Nginx部署300
12.3.4Netlify部署303
