Node.js应用开发

Node.js应用开发
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2021-11
版次: 1
ISBN: 9787115569639
定价: 69.80
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 296页
13人买过
  • 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应用开发中最为重要的内容。

    本书可作为本科和高职院校计算机相关专业的教材,也可作为计算机培训用教材,还可作为计算机相关技术爱好者的自学参考书。 唐小燕,硕士研究生,副教授/工程师,承担过专业方向负责人、二级督导组长等工作。参加2020年江苏省职业院校信息化大赛团队获一等奖、江苏省高校微课教学比赛获二等奖;2019年江苏省职业院校信息化大赛团队获二等奖。近五年来,教学质量考核均为“优秀”,两次荣获学院优秀学生工作者、教学创新创意大赛铜奖。主持2门院级在线开放课程建设,参与多门省级级精品在线开放课建设。曾获学校金讲台教师、巾帼标兵、师德标兵、优秀督导、优秀共产党员等多项荣誉称号。

     刘洪武,硕士研究生,教授,毕业于中国人民解放军国防科技大学。主持省级软件技术教学资源库1个,主持院级人工智能教学资源库1个;参与多门省级在线开放课程建设。2019年获得职业院校教学能力大赛国赛二等奖;2021年获得河北省教学成果奖特等奖;近年指导学生获得职业技能大赛获得国赛二等奖2项。

     虞菊花,硕士研究生,讲师。出版国规教材1本,参与多本教材的编写。主持1门1门省级在线开放课程建设,参与多门省级、校级在线开放课程的建设。参加2020年江苏省职业院校信息化大赛团队获二等奖;2017年江苏省高校微课教学比赛获一等奖,连续两年指导学生参加江苏省高等职业院校技能大赛获一等奖。曾获学校优秀学生工作者、教学创新创意大赛银奖、优秀共产党员等多项荣誉称号。

    王洪海,沈阳职业技术学院,教研室主任,硕士,副教授,沈阳市人才,从事职业教育计算机专业教学16年,主要研究领域软件开发、测试、web前端开发等。” 

    王绪峰 硕士研究生,山东劳动职业技术学院副教授,省级教学团队和省级名师工作室骨干成员,山东省教育科学研究院教研员。从事软件技术开发相关课程的理论与实践教学工作,参与教科研课题6项、出版教材3部。指导学生参加省职业院校技能大赛获一等奖4次,荣获“优秀指导教师”称号,省级“优秀指导教师”称号。 目录

    第 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
  • 内容简介:
    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应用开发中最为重要的内容。

    本书可作为本科和高职院校计算机相关专业的教材,也可作为计算机培训用教材,还可作为计算机相关技术爱好者的自学参考书。
  • 作者简介:
    唐小燕,硕士研究生,副教授/工程师,承担过专业方向负责人、二级督导组长等工作。参加2020年江苏省职业院校信息化大赛团队获一等奖、江苏省高校微课教学比赛获二等奖;2019年江苏省职业院校信息化大赛团队获二等奖。近五年来,教学质量考核均为“优秀”,两次荣获学院优秀学生工作者、教学创新创意大赛铜奖。主持2门院级在线开放课程建设,参与多门省级级精品在线开放课建设。曾获学校金讲台教师、巾帼标兵、师德标兵、优秀督导、优秀共产党员等多项荣誉称号。

     刘洪武,硕士研究生,教授,毕业于中国人民解放军国防科技大学。主持省级软件技术教学资源库1个,主持院级人工智能教学资源库1个;参与多门省级在线开放课程建设。2019年获得职业院校教学能力大赛国赛二等奖;2021年获得河北省教学成果奖特等奖;近年指导学生获得职业技能大赛获得国赛二等奖2项。

     虞菊花,硕士研究生,讲师。出版国规教材1本,参与多本教材的编写。主持1门1门省级在线开放课程建设,参与多门省级、校级在线开放课程的建设。参加2020年江苏省职业院校信息化大赛团队获二等奖;2017年江苏省高校微课教学比赛获一等奖,连续两年指导学生参加江苏省高等职业院校技能大赛获一等奖。曾获学校优秀学生工作者、教学创新创意大赛银奖、优秀共产党员等多项荣誉称号。

    王洪海,沈阳职业技术学院,教研室主任,硕士,副教授,沈阳市人才,从事职业教育计算机专业教学16年,主要研究领域软件开发、测试、web前端开发等。” 

    王绪峰 硕士研究生,山东劳动职业技术学院副教授,省级教学团队和省级名师工作室骨干成员,山东省教育科学研究院教研员。从事软件技术开发相关课程的理论与实践教学工作,参与教科研课题6项、出版教材3部。指导学生参加省职业院校技能大赛获一等奖4次,荣获“优秀指导教师”称号,省级“优秀指导教师”称号。
  • 目录:
    目录

    第 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
查看详情
相关图书 / 更多
Node.js应用开发
NoSQL数据库入门与实践(基于MongoDB、Redis)(第2版)
刘瑜 安义 王晓智
Node.js应用开发
NoSQL数据库从入门到实战(微课视频版)
吕云翔 郭婉茹 余志浩 贺祺 郭宇光
Node.js应用开发
Node.js 后端全程实战
凌杰
Node.js应用开发
Node.js从基础到项目实践(视频教学版)
袁龙
Node.js应用开发
Node.js实战:分布式系统中的后端服务开发
[美]托马斯·亨特二世(Thomas Hunter II)
Node.js应用开发
Node.js+Express+MongoDB+Vue.js全栈开发实战
柳伟卫
Node.js应用开发
NoSQL数据库原理(第2版)(微课版)
北京邮电大学智能信息技术课题组
Node.js应用开发
Node.js从入门到精通
明日科技
Node.js应用开发
NoSQL数据库实战派:Redis+MongoDB+HBase
赵渝强 著
Node.js应用开发
NoSQL数据库技术及应用
郭建磊 王嫱
Node.js应用开发
Node.js Web全栈开发实战
千锋教育高教产品研发部
Node.js应用开发
NoSQL数据库技术
张元鸣