图书目录

目录

第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