描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111654018
内容简介
本书首先讲解了Node.js中*流行的框架Express的安装和使用,详细介绍了Express路由、请求对象Request和返回对象Response,然后详细讲解了许愿墙、博客管理系统和装修小程序管理系统三个完整项目的全部开发流程,*后又讲解了Node.js的部署方法和工具。全书共6章,分为三大部分:第1章介绍Express的基础知识;第2~5章讲解三个完整商业项目的开发实现过程,从需求分析到架构设计再到代码编写一整套完整的流程;第6章介绍Node.js的服务器部署方法和常用工具PM2的使用方法。本书通俗易懂,图文并茂,提供完整的商业项目开发流程,对于拥有Node.js基础而缺乏实战经验的开发人员来说非常适合。
目 录
前言
第1章 安装和使用Express 1
1.1 安装Express 1
1.2 使用Express创建项目 1
1.2.1 创建项目 1
1.2.2 Express项目结构分析 3
1.2.3 应用主文件app.js 4
1.3 Express路由 5
1.3.1 GET请求路由 5
1.3.2 自定义路由 6
1.3.3 其他请求方式的路由 7
1.3.4 路由匹配规则 7
1.3.5 中间件 8
1.4 Express页面 9
1.4.1 更换模板引擎 10
1.4.2 渲染数据到页面上 11
1.4.3 条件渲染 12
1.4.4 循环渲染 16
1.5 请求对象Request 19
1.5.1 Request.url属性:获取请求地址 19
1.5.2 Request.query属性:获取GET请求参数 20
1.5.3 Request.body属性:获取POST请求参数 20
1.5.4 Request.params属性:获取URL中的自定义参数 23
1.5.5 Request.headers属性:获取请求头数据 24
1.5.6 Request.cookies属性:获取客户端cookie 26
1.6 返回对象Response 27
1.6.1 Response.render()方法:渲染页面 27
1.6.2 Response.send()方法:发送HTTP响应 27
1.6.3 Response.json()方法:返回JSON格式的数据 28
1.6.4 Response.status()方法:设定HTTP状态码 29
1.6.5 Response.redirect()方法:跳转指定路由 31
第2章 许愿墙(Node.js+Express+art-template+MySQL) 33
2.1 需求分析 33
2.2 系统设计 34
2.2.1 实现目标和解决方案 34
2.2.2 系统流程图 35
2.2.3 开发环境 35
2.3 前端页面分析 36
2.4 创建MySQL数据库表 36
2.4.1 创建数据库wish 37
2.4.2 创建数据表wish 38
2.4.3 添加模拟数据 39
2.5 创建项目 39
2.5.1 生成项目文件 39
2.5.2 安装依赖包 40
2.5.3 更改默认端口 41
2.5.4 更换模板引擎 41
2.5.5 新增route(路由) 41
2.5.6 新增controller(处理方法) 42
2.5.7 新增constant(常量) 42
2.5.8 新增配置文件 43
2.5.9 新增数据库配置文件 44
2.5.10 新增model文件(数据库映射文件) 44
2.6 渲染许愿列表 45
2.7 添加许愿处理 47
第3章 许愿墙后台管理系统(Node.js+Express+Vue.js+MySQL) 50
3.1 需求分析 50
3.2 系统设计 52
3.2.1 实现目标 53
3.2.2 解决方案 53
3.2.3 系统流程图 56
3.2.4 开发环境 62
3.3 前端页面分析 63
3.3.1 登录模块 63
3.3.2 首页模块 63
3.3.3 许愿管理模块 63
3.3.4 管理员管理模块 65
3.4 创建MySQL数据库表 67
3.4.1 创建数据表admin 67
3.4.2 添加模拟数据 68
3.5 创建项目 68
3.5.1 生成项目文件 68
3.5.2 安装依赖包 69
3.5.3 更改默认端口 70
3.5.4 新增route(路由) 70
3.5.5 新增controller(处理方法) 72
3.5.6 新增middleware(中间件) 75
3.5.7 新增constant(常量) 76
3.5.8 新增配置文件 77
3.5.9 新增数据库配置文件 78
3.5.10 新增model文件(数据库映射) 78
3.6 API接口开发 79
3.6.1 登录接口 79
3.6.2 许愿列表接口 83
3.6.3 单条许愿信息接口 87
3.6.4 添加许愿接口 89
3.6.5 修改许愿接口 91
3.6.6 删除许愿接口 94
3.6.7 管理员列表接口 98
3.6.8 单条管理员信息接口 101
3.6.9 添加管理员接口 103
3.6.10 修改管理员接口 106
3.6.11 删除管理员接口 109
第4章 博客管理系统(Node.js+Express+art-template+Vue.js+MySQL) 114
4.1 前台展示系统需求分析 114
4.2 前台展示系统设计 117
4.2.1 实现目标 117
4.2.2 解决方案 117
4.2.3 系统流程图 118
4.2.4 开发环境 123
4.3 前台展示系统的前端页面分析 123
4.3.1 头部模块 123
4.3.2 侧边栏模块 124
4.3.3 底部模块 124
4.3.4 首页模块 125
4.3.5 分类模块 126
4.3.6 文章模块 127
4.3.7 “关于我们”模块 128
4.4 前台展示系统创建MySQL数据库表 129
4.4.1 创建数据库blog 129
4.4.2 创建数据表cate 130
4.4.3 创建数据表article 131
4.4.4 创建数据表info 132
4.4.5 添加模拟数据 133
4.5 前台展示系统创建项目 134
4.5.1 生成项目文件 134
4.5.2 安装依赖包 134
4.5.3 更改默认端口 135
4.5.4 更换模板引擎 135
4.5.5 新增route(路由) 136
4.5.6 新增controller(处理方法) 136
4.5.7 新增constant(常量) 140
4.5.8 新增配置文件 141
4.5.9 新增数据库配置文件 141
4.5.10 新增model文件(数据库映射) 142
4.6 前台展示系统的渲染页面 143
4.6.1 公共方法 144
4.6.2 首页 148
4.6.3 分类页 151
4.6.4 文章页 153
4.6.5 关于我们页 155
4.7 后台管理系统需求分析 156
4.8 后台管理系统设计 160
4.8.1 实现目标 161
4.8.2 解决方案 161
4.8.3 系统流程图 166
4.8.4 开发环境 177
4.9 后台管理系统的前端页面分析 177
4.9.1 登录模块 177
4.9.2 首页模块 177
4.9.3 分类管理模块 177
4.9.4 文章管理模块 179
4.9.5 博客信息管理模块 181
4.9.6 管理员管理模块 182
4.10 后台管理系统创建MySQL数据库表 183
4.10.1 创建数据表admin 183
4.10.2 添加模拟数据 184
4.11 后台管理系统创建项目 185
4.11.1 生成项目文件 185
4.11.2 安装依赖包 186
4.11.3 更改默认端口 186
4.11.4 新增route(路由) 186
4.11.5 新增controller(处理方法) 189
4.11.6 新增middleware(中间件) 193
4.11.7 新增constant(常量) 194
4.11.8 新增配置文件 195
4.11.9 新增数据库配置文件 196
4.11.10 新增model文件(数据库映射) 196
4.12 API接口开发 198
4.12.1 登录接口 198
4.12.2 分类列表接口 201
4.12.3 单条分类信息接口 206
4.12.4 添加分类接口 208
4.12.5 修改分类接口 210
4.12.6 删除分类接口 212
4.12.7 文章列表接口 215
4.12.8 单条文章信息接口 219
4.12.9 添加文章接口 221
4.12.10 修改文章接口 224
4.12.11 删除文章接口 227
4.12.12 查看博客信息接口 230
4.12.13 修改博客信息接口 232
4.12.14 管理员列表接口 234
4.12.15 单条管理员信息接口 238
4.12.16 添加管理员接口 240
4.12.17 修改管理员接口 242
4.12.18 删除管理员接口 245
第5章 装修小程序管理系统(Node.js+Express+Vue.js+MySQL) 249
5.1 前台展示系统需求分析 249
5.2 前台展示系统设计 251
5.2.1 实现目标 251
5.2.2 解决方案 251
5.2.3 系统流程图 253
5.2.4 开发环境 256
5.3 小程序前端页面分析 257
5.3.1 活动模块 257
5.3.2 分类模块 257
5.3.3 文章模块 257
5.3.4 案例模块 258
5.3.5 预约模块 259
5.3.6 企业信息模块 259
5.4 前台展示系统创建MySQL数据库表 259
5.4.1 创建数据库decorate 259
5.4.2 创建数据表event 261
5.4.3 创建数据表cate 262
5.4.4 创建数据表article 263
5.4.5 创建数据表case 264
5.4.6 创建数据表order 265
5.4.7 创建数据表company 266
5.4.8 添加模拟数据 267
5.5 前台展示系统创建项目 268
5.5.1 生成项目文件 268
5.5.2 安装依赖包 269
5.5.3 更改默认端口 269
5.5.4 新增route(路由) 269
5.5.5 新增controller(处理方法) 270
5.5.6 新增constant(常量) 272
5.5.7 新增配置文件 273
5.5.8 新增数据库配置文件 274
5.5.9 新增model文件(数据库映射) 274
5.6 前台展示系统的API接口开发 277
5.6.1 活动列表接口 278
5.6.2 分类列表接口 280
5.6.3 文章列表接口 281
5.6.4 文章详情接口 284
5.6.5 案例列表接口 285
5.6.6 案例详情接口 288
5.6.7 企业信息接口 290
5.6.8 预约接口 291
5.7 后台管理系统需求分析 293
5.8 后台管理系统设计 299
5.8.1 实现目标 299
5.8.2 解决方案 300
5.8.3 系统流程图 306
5.8.4 开发环境 329
5.9 后台管理系统的前端页面分析 329
5.9.1 登录模块 330
5.9.2 首页模块 330
5.9.3 预约管理模块 330
5.9.4 活动管理模块 331
5.9.5 分类管理模块 332
5.9.6 文章管理模块 334
5.9.7 案例管理模块 336
5.9.8 企业信息管理模块 338
5.9.9 管理员管理模块 338
5.10 后台管理系统创建MySQL数据库表 340
5.10.1 创建数据表admin 340
5.10.2 添加模拟数据 341
5.11 后台管理系统创建项目 342
5.11.1 生成项目文件 342
5.11.2 安装依赖包 342
5.11.3 更改默认端口 343
5.11.4 新增route(路由) 343
5.11.5 新增controller(处理方法) 349
5.11.6 新增middleware(中间件) 352
5.11.7 新增constant(常量) 354
5.11.8 新增配置文件 355
5.11.9 新增数据库配置文件 356
5.11.10 新增model文件(数据库映射) 356
5.12 后台管理系统的API接口开发 359
5.12.1 登录接口 360
5.12.2 活动列表接口 363
5.12.3 单条活动信息接口 367
5.12.4 添加活动接口 369
5.12.5 修改活动接口 371
5.12.6 删除活动接口 374
5.12.7 分类列表接口 378
5.12.8 单条分类信息接口 382
5.12.9 添加分类接口 384
5.12.10 修改分类接口 386
5.12.11 删除分类接口 388
5.12.12 文章列表接口 391
5.12.13 单条文章信息接口 395
5.12.14 添加文章接口 397
5.12.15 修改文章接口 400
5.12.16 删除文章接口 403
5.12.17 案例列表接口 407
5.12.18 单条案例信息接口 411
5.12.19 添加案例接口 412
5.12.20 修改案例接口 415
5.12.21 删除案例接口 417
5.12.22 预约列表接口 421
5.12.23 修改预约状态接口 424
5.12.24 查看企业信息接口 427
5.12.25 修改企业信息接口 429
5.12.26 管理员列表接口 431
5.12.27 单条管理员信息接口 435
5.12.28 添加管理员接口 437
5.12.29 修改管理员接口 439
5.12.30 删除管理员接口 442
5.12.31 上传图片接口 446
第6章 Node.js部署 448
6.1 安装Node.js 448
6.1.1 下载Node.js安装包 448
6.1.2 上传安装包并解压 449
6.1.3 建立软链接,生成全局命令 449
6.2 提取项目代码 449
6.2.1 安装Git 449
6.2.2 使用Git提取项目代码 450
6.3 启动项目 450
6.4 进程管理工具PM2 450
6.4.1 安装PM2 451
6.4.2 PM2的常用命令 451
6.4.3 PM2的
第1章 安装和使用Express 1
1.1 安装Express 1
1.2 使用Express创建项目 1
1.2.1 创建项目 1
1.2.2 Express项目结构分析 3
1.2.3 应用主文件app.js 4
1.3 Express路由 5
1.3.1 GET请求路由 5
1.3.2 自定义路由 6
1.3.3 其他请求方式的路由 7
1.3.4 路由匹配规则 7
1.3.5 中间件 8
1.4 Express页面 9
1.4.1 更换模板引擎 10
1.4.2 渲染数据到页面上 11
1.4.3 条件渲染 12
1.4.4 循环渲染 16
1.5 请求对象Request 19
1.5.1 Request.url属性:获取请求地址 19
1.5.2 Request.query属性:获取GET请求参数 20
1.5.3 Request.body属性:获取POST请求参数 20
1.5.4 Request.params属性:获取URL中的自定义参数 23
1.5.5 Request.headers属性:获取请求头数据 24
1.5.6 Request.cookies属性:获取客户端cookie 26
1.6 返回对象Response 27
1.6.1 Response.render()方法:渲染页面 27
1.6.2 Response.send()方法:发送HTTP响应 27
1.6.3 Response.json()方法:返回JSON格式的数据 28
1.6.4 Response.status()方法:设定HTTP状态码 29
1.6.5 Response.redirect()方法:跳转指定路由 31
第2章 许愿墙(Node.js+Express+art-template+MySQL) 33
2.1 需求分析 33
2.2 系统设计 34
2.2.1 实现目标和解决方案 34
2.2.2 系统流程图 35
2.2.3 开发环境 35
2.3 前端页面分析 36
2.4 创建MySQL数据库表 36
2.4.1 创建数据库wish 37
2.4.2 创建数据表wish 38
2.4.3 添加模拟数据 39
2.5 创建项目 39
2.5.1 生成项目文件 39
2.5.2 安装依赖包 40
2.5.3 更改默认端口 41
2.5.4 更换模板引擎 41
2.5.5 新增route(路由) 41
2.5.6 新增controller(处理方法) 42
2.5.7 新增constant(常量) 42
2.5.8 新增配置文件 43
2.5.9 新增数据库配置文件 44
2.5.10 新增model文件(数据库映射文件) 44
2.6 渲染许愿列表 45
2.7 添加许愿处理 47
第3章 许愿墙后台管理系统(Node.js+Express+Vue.js+MySQL) 50
3.1 需求分析 50
3.2 系统设计 52
3.2.1 实现目标 53
3.2.2 解决方案 53
3.2.3 系统流程图 56
3.2.4 开发环境 62
3.3 前端页面分析 63
3.3.1 登录模块 63
3.3.2 首页模块 63
3.3.3 许愿管理模块 63
3.3.4 管理员管理模块 65
3.4 创建MySQL数据库表 67
3.4.1 创建数据表admin 67
3.4.2 添加模拟数据 68
3.5 创建项目 68
3.5.1 生成项目文件 68
3.5.2 安装依赖包 69
3.5.3 更改默认端口 70
3.5.4 新增route(路由) 70
3.5.5 新增controller(处理方法) 72
3.5.6 新增middleware(中间件) 75
3.5.7 新增constant(常量) 76
3.5.8 新增配置文件 77
3.5.9 新增数据库配置文件 78
3.5.10 新增model文件(数据库映射) 78
3.6 API接口开发 79
3.6.1 登录接口 79
3.6.2 许愿列表接口 83
3.6.3 单条许愿信息接口 87
3.6.4 添加许愿接口 89
3.6.5 修改许愿接口 91
3.6.6 删除许愿接口 94
3.6.7 管理员列表接口 98
3.6.8 单条管理员信息接口 101
3.6.9 添加管理员接口 103
3.6.10 修改管理员接口 106
3.6.11 删除管理员接口 109
第4章 博客管理系统(Node.js+Express+art-template+Vue.js+MySQL) 114
4.1 前台展示系统需求分析 114
4.2 前台展示系统设计 117
4.2.1 实现目标 117
4.2.2 解决方案 117
4.2.3 系统流程图 118
4.2.4 开发环境 123
4.3 前台展示系统的前端页面分析 123
4.3.1 头部模块 123
4.3.2 侧边栏模块 124
4.3.3 底部模块 124
4.3.4 首页模块 125
4.3.5 分类模块 126
4.3.6 文章模块 127
4.3.7 “关于我们”模块 128
4.4 前台展示系统创建MySQL数据库表 129
4.4.1 创建数据库blog 129
4.4.2 创建数据表cate 130
4.4.3 创建数据表article 131
4.4.4 创建数据表info 132
4.4.5 添加模拟数据 133
4.5 前台展示系统创建项目 134
4.5.1 生成项目文件 134
4.5.2 安装依赖包 134
4.5.3 更改默认端口 135
4.5.4 更换模板引擎 135
4.5.5 新增route(路由) 136
4.5.6 新增controller(处理方法) 136
4.5.7 新增constant(常量) 140
4.5.8 新增配置文件 141
4.5.9 新增数据库配置文件 141
4.5.10 新增model文件(数据库映射) 142
4.6 前台展示系统的渲染页面 143
4.6.1 公共方法 144
4.6.2 首页 148
4.6.3 分类页 151
4.6.4 文章页 153
4.6.5 关于我们页 155
4.7 后台管理系统需求分析 156
4.8 后台管理系统设计 160
4.8.1 实现目标 161
4.8.2 解决方案 161
4.8.3 系统流程图 166
4.8.4 开发环境 177
4.9 后台管理系统的前端页面分析 177
4.9.1 登录模块 177
4.9.2 首页模块 177
4.9.3 分类管理模块 177
4.9.4 文章管理模块 179
4.9.5 博客信息管理模块 181
4.9.6 管理员管理模块 182
4.10 后台管理系统创建MySQL数据库表 183
4.10.1 创建数据表admin 183
4.10.2 添加模拟数据 184
4.11 后台管理系统创建项目 185
4.11.1 生成项目文件 185
4.11.2 安装依赖包 186
4.11.3 更改默认端口 186
4.11.4 新增route(路由) 186
4.11.5 新增controller(处理方法) 189
4.11.6 新增middleware(中间件) 193
4.11.7 新增constant(常量) 194
4.11.8 新增配置文件 195
4.11.9 新增数据库配置文件 196
4.11.10 新增model文件(数据库映射) 196
4.12 API接口开发 198
4.12.1 登录接口 198
4.12.2 分类列表接口 201
4.12.3 单条分类信息接口 206
4.12.4 添加分类接口 208
4.12.5 修改分类接口 210
4.12.6 删除分类接口 212
4.12.7 文章列表接口 215
4.12.8 单条文章信息接口 219
4.12.9 添加文章接口 221
4.12.10 修改文章接口 224
4.12.11 删除文章接口 227
4.12.12 查看博客信息接口 230
4.12.13 修改博客信息接口 232
4.12.14 管理员列表接口 234
4.12.15 单条管理员信息接口 238
4.12.16 添加管理员接口 240
4.12.17 修改管理员接口 242
4.12.18 删除管理员接口 245
第5章 装修小程序管理系统(Node.js+Express+Vue.js+MySQL) 249
5.1 前台展示系统需求分析 249
5.2 前台展示系统设计 251
5.2.1 实现目标 251
5.2.2 解决方案 251
5.2.3 系统流程图 253
5.2.4 开发环境 256
5.3 小程序前端页面分析 257
5.3.1 活动模块 257
5.3.2 分类模块 257
5.3.3 文章模块 257
5.3.4 案例模块 258
5.3.5 预约模块 259
5.3.6 企业信息模块 259
5.4 前台展示系统创建MySQL数据库表 259
5.4.1 创建数据库decorate 259
5.4.2 创建数据表event 261
5.4.3 创建数据表cate 262
5.4.4 创建数据表article 263
5.4.5 创建数据表case 264
5.4.6 创建数据表order 265
5.4.7 创建数据表company 266
5.4.8 添加模拟数据 267
5.5 前台展示系统创建项目 268
5.5.1 生成项目文件 268
5.5.2 安装依赖包 269
5.5.3 更改默认端口 269
5.5.4 新增route(路由) 269
5.5.5 新增controller(处理方法) 270
5.5.6 新增constant(常量) 272
5.5.7 新增配置文件 273
5.5.8 新增数据库配置文件 274
5.5.9 新增model文件(数据库映射) 274
5.6 前台展示系统的API接口开发 277
5.6.1 活动列表接口 278
5.6.2 分类列表接口 280
5.6.3 文章列表接口 281
5.6.4 文章详情接口 284
5.6.5 案例列表接口 285
5.6.6 案例详情接口 288
5.6.7 企业信息接口 290
5.6.8 预约接口 291
5.7 后台管理系统需求分析 293
5.8 后台管理系统设计 299
5.8.1 实现目标 299
5.8.2 解决方案 300
5.8.3 系统流程图 306
5.8.4 开发环境 329
5.9 后台管理系统的前端页面分析 329
5.9.1 登录模块 330
5.9.2 首页模块 330
5.9.3 预约管理模块 330
5.9.4 活动管理模块 331
5.9.5 分类管理模块 332
5.9.6 文章管理模块 334
5.9.7 案例管理模块 336
5.9.8 企业信息管理模块 338
5.9.9 管理员管理模块 338
5.10 后台管理系统创建MySQL数据库表 340
5.10.1 创建数据表admin 340
5.10.2 添加模拟数据 341
5.11 后台管理系统创建项目 342
5.11.1 生成项目文件 342
5.11.2 安装依赖包 342
5.11.3 更改默认端口 343
5.11.4 新增route(路由) 343
5.11.5 新增controller(处理方法) 349
5.11.6 新增middleware(中间件) 352
5.11.7 新增constant(常量) 354
5.11.8 新增配置文件 355
5.11.9 新增数据库配置文件 356
5.11.10 新增model文件(数据库映射) 356
5.12 后台管理系统的API接口开发 359
5.12.1 登录接口 360
5.12.2 活动列表接口 363
5.12.3 单条活动信息接口 367
5.12.4 添加活动接口 369
5.12.5 修改活动接口 371
5.12.6 删除活动接口 374
5.12.7 分类列表接口 378
5.12.8 单条分类信息接口 382
5.12.9 添加分类接口 384
5.12.10 修改分类接口 386
5.12.11 删除分类接口 388
5.12.12 文章列表接口 391
5.12.13 单条文章信息接口 395
5.12.14 添加文章接口 397
5.12.15 修改文章接口 400
5.12.16 删除文章接口 403
5.12.17 案例列表接口 407
5.12.18 单条案例信息接口 411
5.12.19 添加案例接口 412
5.12.20 修改案例接口 415
5.12.21 删除案例接口 417
5.12.22 预约列表接口 421
5.12.23 修改预约状态接口 424
5.12.24 查看企业信息接口 427
5.12.25 修改企业信息接口 429
5.12.26 管理员列表接口 431
5.12.27 单条管理员信息接口 435
5.12.28 添加管理员接口 437
5.12.29 修改管理员接口 439
5.12.30 删除管理员接口 442
5.12.31 上传图片接口 446
第6章 Node.js部署 448
6.1 安装Node.js 448
6.1.1 下载Node.js安装包 448
6.1.2 上传安装包并解压 449
6.1.3 建立软链接,生成全局命令 449
6.2 提取项目代码 449
6.2.1 安装Git 449
6.2.2 使用Git提取项目代码 450
6.3 启动项目 450
6.4 进程管理工具PM2 450
6.4.1 安装PM2 451
6.4.2 PM2的常用命令 451
6.4.3 PM2的
前 言
一直以来,用于后端开发的主流语言是Java、PHP和Python等;而Node.js的出现让JavaScript的身影出现在了后端开发中,这使得前后端使用同一种语言并统一模型的梦想得以实现。
Node.js不是一种独立的语言,而是一个基于Chrome V8引擎的JavaScript运行环境,其底层语言仍是JavaScript。Node.js可以方便地搭建响应速度快、易于扩展的网络应用。它使用事件驱动、非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。使用Node.js可以让用户花最低的硬件成本,追求更高的并发效率和处理性能。具体而言,Node.js具有以下几个特性:
* 事件驱动:JavaScript是一种事件驱动编程语言,事件发生时调用的回调函数可以在捕获事件处进行编写,这样可以让代码容易编写和维护。
* 非阻塞:在非阻塞模式下,一个线程永远在执行计算操作,这个线程所使用的CPU核心利用率永远是100%,使得效率大大提高,节省资源。
* 异步I/O:也称非阻塞式I/O,针对所有的I/O操作均不采用阻塞策略。当线程遇到I/O操作时,不会以阻塞方式等待I/O操作的完成或数据的返回,而只是将I/O请求发送给操作系统,继续执行下一条语句。当操作系统完成I/O操作时,以事件的形式通知执行I/O操作的线程,线程会在特定时间处理这个事件。
* 高并发能力:Node.js并不会为每个客户的连接创建一个新的线程,而仅仅使用一个线程。当有用户连接时,就触发一个内部事件,通过非阻塞I/O和事件驱动机制,让Node.js程序宏观上也是并行的。
* 社区活跃:Node.js的社区在不断地壮大,其包的数量在快速增加,质量也在不断提升。最主要的是很多包都简单灵巧,方便用户使用和快速开发。
本书编写目的
实践对于学习知识的重要性不言而喻。只有理论知识而没有实践不可能真正完成一个项目的开发。基于此笔者编写了本书。
本书专为Node.js项目经验薄弱的初学者、进阶者和爱好者打造,旨在让他们掌握Node.js的相关知识和技能,并能进行项目实战开发。本书从实际项目开发入手,详细讲解了3个项目案例的完整开发过程,让读者可以快速巩固所学的理论知识,并能结合理论知识完成实际的商业项目。
当您认真、系统地学习完本书内容之后,将会发现自己已经成为一名真正的Node.js程序员,已经能够实打实地开发实际项目了。
本书特色
* 快速上手:本书采用Node.js中最流行的框架Express进行项目开发,让读者能够快速熟悉并使用Express框架。
* 技术新颖:本书不仅讲解了传统的后端渲染架构,还提供了业内新近流行的前后端分离架构,让读者能够深入了解架构知识,跟上技术发展的步伐。
* 注重实战:本书采用实际的商业项目作为案例,逐一讲解项目开发中的需求分析、架构设计和代码编写等知识,让读者能够在实战中掌握知识,提升项目经验。
* 新颖独特:本书在项目开发中提供了一种基于Express框架搭建的文件目录结构,读者可以根据此结构快速、高效地开发出新的商业项目。
本书内容
本书共6章,从实战角度出发,以项目开发流程为指引,一步步指导读者学习如何开发完整的项目。
第1章介绍了Node.js最流行的Web开发框架Express,讲述了Express的主要特性和使用方法,以及如何使用Express创建一个项目。
第2章从需求分析、系统设计、数据库设计及代码编写几个方面,详细介绍了许愿墙项目的前台展示系统的开发。
第3章在第2章的基础上详细介绍了许愿墙项目的后台管理系统的开发。该系统用来对项目的信息进行查看和管理,采用了当下比较流行的前后端分离架构。
第4章详细介绍了博客管理系统的开发。该系统包括前台展示系统和后台管理系统两部分,其功能相互独立。
第5章详细介绍了装修小程序管理系统的开发。该系统包括前台展示系统和后台管理系统这两个功能相互独立的系统,其中重点介绍了前后端开发架构下的后端API接口开发和前端页面开发。
第6章介绍了Node.js部署的相关知识,包括如何安装Node.js环境、如何提取项目代码,以及如何使用Node.js进程管理工具PM2等。
读者对象
* 对Node.js感兴趣的各类开发人员;
* 有一定Node.js基础但没有项目经验的初学者与进阶者;
* 有一定Node.js基础,想要实际开发项目的开发人员;
* 高校及培训机构的老师和学生;
* 正在进行毕业设计的学生。
配套资源获取
本书涉及的所有源代码文件等配套资源需要读者自行下载,请到华章公司的网站(www.hzbook.com)搜索本书,即可在本书页面上找到相关下载链接。
另外,笔者还将配套资源上传到了QQ群共享文件中(群号:620379726),您也可加入QQ群获取资源。但需要注意,如果加入QQ群时系统提示此群已满,请根据验证信息加入新群。
Node.js学习资源
* JavaScript教程:http://www.w3school.com.cn/js/index.asp;
* Node.js官网:https://nodejs.org;
* Node.js官方文档:https://nodejs.org/en/docs/;
* Express官网:http://expressjs.com;
* Node.js中文社区:https://cnodejs.org。
本书作者
本书由张旭编写。在写作过程中,笔者竭尽所能将本书写好,力图为读者呈现一本易
Node.js不是一种独立的语言,而是一个基于Chrome V8引擎的JavaScript运行环境,其底层语言仍是JavaScript。Node.js可以方便地搭建响应速度快、易于扩展的网络应用。它使用事件驱动、非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。使用Node.js可以让用户花最低的硬件成本,追求更高的并发效率和处理性能。具体而言,Node.js具有以下几个特性:
* 事件驱动:JavaScript是一种事件驱动编程语言,事件发生时调用的回调函数可以在捕获事件处进行编写,这样可以让代码容易编写和维护。
* 非阻塞:在非阻塞模式下,一个线程永远在执行计算操作,这个线程所使用的CPU核心利用率永远是100%,使得效率大大提高,节省资源。
* 异步I/O:也称非阻塞式I/O,针对所有的I/O操作均不采用阻塞策略。当线程遇到I/O操作时,不会以阻塞方式等待I/O操作的完成或数据的返回,而只是将I/O请求发送给操作系统,继续执行下一条语句。当操作系统完成I/O操作时,以事件的形式通知执行I/O操作的线程,线程会在特定时间处理这个事件。
* 高并发能力:Node.js并不会为每个客户的连接创建一个新的线程,而仅仅使用一个线程。当有用户连接时,就触发一个内部事件,通过非阻塞I/O和事件驱动机制,让Node.js程序宏观上也是并行的。
* 社区活跃:Node.js的社区在不断地壮大,其包的数量在快速增加,质量也在不断提升。最主要的是很多包都简单灵巧,方便用户使用和快速开发。
本书编写目的
实践对于学习知识的重要性不言而喻。只有理论知识而没有实践不可能真正完成一个项目的开发。基于此笔者编写了本书。
本书专为Node.js项目经验薄弱的初学者、进阶者和爱好者打造,旨在让他们掌握Node.js的相关知识和技能,并能进行项目实战开发。本书从实际项目开发入手,详细讲解了3个项目案例的完整开发过程,让读者可以快速巩固所学的理论知识,并能结合理论知识完成实际的商业项目。
当您认真、系统地学习完本书内容之后,将会发现自己已经成为一名真正的Node.js程序员,已经能够实打实地开发实际项目了。
本书特色
* 快速上手:本书采用Node.js中最流行的框架Express进行项目开发,让读者能够快速熟悉并使用Express框架。
* 技术新颖:本书不仅讲解了传统的后端渲染架构,还提供了业内新近流行的前后端分离架构,让读者能够深入了解架构知识,跟上技术发展的步伐。
* 注重实战:本书采用实际的商业项目作为案例,逐一讲解项目开发中的需求分析、架构设计和代码编写等知识,让读者能够在实战中掌握知识,提升项目经验。
* 新颖独特:本书在项目开发中提供了一种基于Express框架搭建的文件目录结构,读者可以根据此结构快速、高效地开发出新的商业项目。
本书内容
本书共6章,从实战角度出发,以项目开发流程为指引,一步步指导读者学习如何开发完整的项目。
第1章介绍了Node.js最流行的Web开发框架Express,讲述了Express的主要特性和使用方法,以及如何使用Express创建一个项目。
第2章从需求分析、系统设计、数据库设计及代码编写几个方面,详细介绍了许愿墙项目的前台展示系统的开发。
第3章在第2章的基础上详细介绍了许愿墙项目的后台管理系统的开发。该系统用来对项目的信息进行查看和管理,采用了当下比较流行的前后端分离架构。
第4章详细介绍了博客管理系统的开发。该系统包括前台展示系统和后台管理系统两部分,其功能相互独立。
第5章详细介绍了装修小程序管理系统的开发。该系统包括前台展示系统和后台管理系统这两个功能相互独立的系统,其中重点介绍了前后端开发架构下的后端API接口开发和前端页面开发。
第6章介绍了Node.js部署的相关知识,包括如何安装Node.js环境、如何提取项目代码,以及如何使用Node.js进程管理工具PM2等。
读者对象
* 对Node.js感兴趣的各类开发人员;
* 有一定Node.js基础但没有项目经验的初学者与进阶者;
* 有一定Node.js基础,想要实际开发项目的开发人员;
* 高校及培训机构的老师和学生;
* 正在进行毕业设计的学生。
配套资源获取
本书涉及的所有源代码文件等配套资源需要读者自行下载,请到华章公司的网站(www.hzbook.com)搜索本书,即可在本书页面上找到相关下载链接。
另外,笔者还将配套资源上传到了QQ群共享文件中(群号:620379726),您也可加入QQ群获取资源。但需要注意,如果加入QQ群时系统提示此群已满,请根据验证信息加入新群。
Node.js学习资源
* JavaScript教程:http://www.w3school.com.cn/js/index.asp;
* Node.js官网:https://nodejs.org;
* Node.js官方文档:https://nodejs.org/en/docs/;
* Express官网:http://expressjs.com;
* Node.js中文社区:https://cnodejs.org。
本书作者
本书由张旭编写。在写作过程中,笔者竭尽所能将本书写好,力图为读者呈现一本易
评论
还没有评论。