由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版新书] Node.js+Express+MongoDB+Vue.js全栈开发实战 柳伟卫 清华大学出版社
¥ ×1
书名: | Node.js+Express+MongoDB+Vue.js全栈开发实战 |
出版社: | 清华大学出版社 |
出版日期 | 2023 |
ISBN号: | 9787302622048 |
本书全面介绍Vue.js+Node.js全栈开发所使用的新技术,包括MongoDB、Express、Vue.js 3、Node.js、Naive UI、md-editor-v3、Nginx、basic-auth、JavaScript、TypeScript等开源技术栈,知识点涉及数据存储、模块、测试、缓冲区、事件处理、文件处理、HTTP编程、组件、模板、指令、监听器、表达式、事件、表单、HTTP客户端等内容。本书内容丰富,案例新颖,学习难度由浅入深,层层推进,理论联系实际,具有较强的实操性。这些知识点既能满足当前企业级应用的开发需求,又可以最大限度地减轻开发者的负担。本书所介绍的知识较为前瞻,辅以大量的案例,令读者知其然并知其所以然。通过本书的学习,可以令读者拓展视野,提升职场竞争能力。 本书适合Vue.js+Node.js全栈开发初学者和进阶读者作为自学教程,也适合培训学校作为培训教材,还适合大、中专院校的相关专业作为教学参考书。 |
柳伟卫,网名老卫、waylau,在IT公司担任过项目经理、架构师、高级技术顾问等职位,拥有十多年开发经验,具有丰富的软件开发管理及系统架构经验。主导过多个省、国家级大型分布式系统的设计与研发,参与过面向全球的供应链系统服务化改造。在实际工作中积累了大量的分布式系统、微服务架构以及性能调优经验。业余时间创建了 waylau.com 网站,用于分享个人技术心得。喜欢开源,长期活跃于各大开源社区,是 CSDN、 开源中国、阿里云开发者、华为开发者等技术社区专家,已出版《Java核心编程》《轻量级Java EE企业应用开发实战》等十几部专业图书。 |
|
UI、md-editor-v3、basic-auth、JavaScript、TypeScript,知识面广:无论是前端的Vue.js、朴素还是前端的MongoDB、Node.js、Express、Nginx,本书均有着墨。 版本新颖:本书所涉及的技术版本均为目前最新的版本. 案例丰富:全书共计有89个知识点实例和4个综合实战案例. 全栈技能:熟习本书,可以掌握全栈开发技能. |
|
第1章 Vue.js+Node.js全栈开发概述 1 1.1 Vue.js+Node.js全栈开发核心技术栈的组成 1 1.1.1 MongoDB 1 1.1.2 Express 2 1.1.3 Vue.js 2 1.1.4 Node.js 2 1.2 Vue.js+Node.js全栈开发周边技术栈的组成 2 1.2.1 Naive UI 2 1.2.2 md-editor-v3 3 1.2.3 Nginx 3 1.2.4 basic-auth 3 1.3 Vue.js+Node.js全栈开发的优势 3 1.4 开发工具的选择 6 1.5 小结 6 1.6 练习题 6 第2章 Node.js基础 7 2.1 初识Node.js 7 2.1.1 Node.js简介 7 2.1.2 为什么叫Node.js 8 2.2 Node.js的特点 8 2.2.1 异步I/O 8 2.2.2 事件驱动 9 2.2.3 单线程 10 2.2.4 可用性和扩展性 10 2.2.5 跨平台 11 2.3 安装Node.js 11 2.3.1 安装Node.js和npm 11 2.3.2 Node.js与npm的关系 12 2.3.3 安装npm镜像 12 2.4 第一个Node.js应用 12 2.4.1 实例1:创建Node.js应用 12 2.4.2 实例2:运行Node.js应用 12 2.5 小结 13 2.6 练习题 13 第3章 Node.js模块——大型项目管理之道 14 3.1 理解模块化机制 14 3.1.1 理解CommonJS规范 14 3.1.2 理解ES6模块 16 3.1.3 CommonJS和ES6模块的异同点 17 3.1.4 Node.js的模块实现 18 3.2 使用npm管理模块 19 3.2.1 使用npm命令安装模块 19 3.2.2 全局安装与本地安装 20 3.2.3 查看安装信息 20 3.2.4 卸载模块 21 3.2.5 更新模块 21 3.2.6 搜索模块 21 3.2.7 创建模块 21 3.3 Node.js核心模块 21 3.4 小结 22 3.5 练习题 22 第4章 Node.js测试 23 4.1 严格模式和遗留模式 23 4.2 实例3:断言的使用 24 4.3 了解AssertionError 25 4.4 实例4:使用deepStrictEqual 26 4.5 小结 28 4.6 练习题 28 第5章 Node.js缓冲区—高性能IO处理的秘诀 29 5.1 了解Buffer 29 5.1.1 了解TypedArray 29 5.1.2 Buffer类 30 5.2 创建缓冲区 31 5.2.1 初始化缓冲区的API 31 5.2.2 实例5:理解数据的安全性 32 5.2.3 启用零填充 33 5.2.4 实例6:指定字符编码 33 5.3 实例7:切分缓冲区 34 5.4 实例8:连接缓冲区 35 5.5 实例9:比较缓冲区 36 5.6 缓冲区编解码 36 5.6.1 编码器和解码器 36 5.6.2 实例10:缓冲区解码 37 5.6.3 实例11:缓冲区编码 38 5.7 小结 39 5.8 练习题 39 第6章 Node.js事件处理 40 6.1 理解事件和回调 40 6.1.1 事件循环 41 6.1.2 事件驱动 41 6.2 事件发射器 42 6.2.1 实例12:将参数和this传给监听器 42 6.2.2 实例13:异步与同步 43 6.2.3 实例14:仅处理事件一次 43 6.3 事件类型 44 6.3.1 事件类型的定义 44 6.3.2 内置的事件类型 44 6.3.3 实例15:error事件 44 6.4 事件的操作 47 6.4.1 实例16:设置最大监听器 47 6.4.2 实例17:获取已注册的事件的名称 47 6.4.3 实例18:获取监听器数组的副本 48 6.4.4 实例19:将事件监听器添加到监听器数组的开头 48 6.4.5 实例20:移除监听器 49 6.5 小结 50 6.6 练习题 50 第7章 Node.js文件处理 51 7.1 了解fs模块 51 7.1.1 同步与异步操作文件 51 7.1.2 文件描述符 53 7.2 处理文件路径 53 7.2.1 字符串形式的路径 54 7.2.2 Buffer形式的路径 54 7.2.3 URL对象的路径 55 7.3 打开文件 56 7.3.1 文件系统标志 56 7.3.2 实例21:打开文件的例子 57 7.4 读取文件 58 7.4.1 实例22:用fs.read读取文件 58 7.4.2 实例23:用fs.readdir读取文件 59 7.4.3 实例24:用fs.readFile读取文件 60 7.5 写入文件 61 7.5.1 实例25:将Buffer写入文件 61 7.5.2 实例26:将字符串写入文件 62 7.5.3 实例27:将数据写入文件 64 7.6 小结 64 7.7 练习题 65 第8章 Node.js HTTP编程 66 8.1 创建HTTP服务器 66 8.1.1 实例28:用http.Server创建服务器 66 8.1.2 理解http.Server事件的用法 67 8.2 处理HTTP常用操作 69 8.3 请求对象和响应对象 69 8.3.1 理解http.ClientRequest类 69 8.3.2 理解http.ServerResponse类 73 8.4 REST概述 76 8.4.1 REST定义 76 8.4.2 REST设计原则 76 8.5 成熟度模型 77 8.5.1 第0级:使用HTTP作为传输方式 78 8.5.2 第1级:引入了资源的概念 79 8.5.3 第2级:根据语义使用HTTP动词 80 8.5.4 第3级:使用HATEOAS 81 8.6 实例29:构建REST服务的例子 83 8.6.1 新增用户 84 8.6.2 修改用户 85 8.6.3 删除用户 85 8.6.4 响应请求 86 8.6.5 运行应用 87 8.7 小结 90 8.8 练习题 90 第9章 Express基础 91 9.1 安装Express 91 9.1.1 初始化应用目录 91 9.1.2 初始化应用结构 92 9.1.3 在应用中安装Express 92 9.2 实例30:编写Hello World应用 93 9.3 实例31:运行Hello World应用 93 9.4 小结 94 9.5 练习题 94 第10章 Express路由——页面的导航员 95 10.1 路由方法 95 10.2 路由路径 96 10.2.1 实例32:基于字符串的路由路径 96 10.2.2 实例33:基于字符串模式的路由路径 97 10.2.3 实例34:基于正则表达式的路由路径 97 10.3 路由参数 98 10.4 路由处理器 98 10.4.1 实例35:单个回调函数 98 10.4.2 实例36:多个回调函数 98 10.4.3 实例37:一组回调函数 99 10.4.4 实例38:独立函数和函数数组的组合 99 10.5 响应方法 99 10.6 实例39:Express构建REST API 100 10.7 测试Express的REST API 102 10.7.1 测试创建用户API 102 10.7.2 测试删除用户API 102 10.7.3 测试修改用户API 103 10.7.4 测试查询用户API 104 10.8 小结 104 10.9 练习题 104 第11章 Express错误处理器 105 11.1 捕获错误 105 11.2 默认错误处理器 107 11.3 自定义错误处理器 107 11.4 小结 109 11.5 练习题 109 第12章 MongoDB基础 110 12.1 MongoDB简介 110 12.2 安装MongoDB 112 12.3 启动MongoDB服务 112 12.4 连接到MongoDB服务器 113 12.5 小结 114 12.6 练习题 114 第13章 MongoDB常用操作 115 13.1 显示已有的数据库 115 13.2 创建、使用数据库 115 13.3 插入文档 116 13.3.1 实例40:插入单个文档 116 13.3.2 实例41:插入多个文档 116 13.4 查询文档 117 13.4.1 实例42:嵌套文档查询 118 13.4.2 实例43:嵌套字段查询 118 13.4.3 实例44:使用查询运算符 118 13.4.4 实例45:多条件查询 119 13.5 修改文档 119 13.5.1 实例46:修改单个文档 119 13.5.2 实例47:修改多个文档 120 13.5.3 实例48:替换单个文档 120 13.6 删除文档 121 13.6.1 实例49:删除单个文档 121 13.6.2 实例50:删除多个文档 122 13.7 小结 122 13.8 练习题 122 第14章 使用Node.js操作MongoDB 123 14.1 安装mongodb模块 123 14.2 实现访问MongoDB 124 14.3 运行应用 125 14.4 小结 125 14.5 练习题 125 第15章 mongodb模块的综合应用 126 15.1 实例51:建立连接 126 15.2 实例52:插入文档 127 15.3 实例53:查找文档 128 15.4 修改文档 130 15.4.1 实例54:修改单个文档 130 15.4.2 实例55:修改多个文档 134 15.5 删除文档 137 15.5.1 实例56:删除单个文档 137 15.5.2 实例57:删除多个文档 141 15.6 小结 145 15.7 练习题 145 第16章 Vue.js基础 146 16.1 Vue.js产生的背景 146 16.2 Vue.js的下载安装 146 16.2.1 安装Vue CLI 147 16.2.2 安装Vue Devtools 147 16.3 Vue CLI的常用操作 147 16.3.1 获取帮助 147 16.3.2 创建应用 148 16.3.3 创建服务 149 16.3.4 启动应用 149 16.3.5 编译应用 150 16.4 实例58:创建第一个Vue.js应用 150 16.4.1 使用Vue CLI初始化应用 150 16.4.2 运行Vue应用 154 16.4.3 增加对TypeScript的支持 155 16.5 探索Vue.js应用结构 155 16.5.1 整体项目结构 155 16.5.2 项目根目录文件 156 16.5.3 node_modules目录 156 16.5.4 public目录 157 16.5.5 src目录 158 16.6 小结 161 16.7 练习题 161 第17章 Vue.js应用实例 162 17.1 创建应用实例 162 17.1.1 第一个应用实例 162 17.1.2 让应用实例执行方法 162 17.1.3 理解选项对象 163 17.1.4 理解根组件 163 17.1.5 理解MVVM模型 164 17.2 data的property与methods 164 17.2.1 理解data property 165 17.2.2 理解data methods 165 17.3 生命周期 166 17.3.1 什么是生命周期钩子 166 17.3.2 Vue.js的生命周期 167 17.3.3 实例59:生命周期钩子的例子 168 17.4 小结 171 17.5 练习题 171 第18章 Vue.js组件 172 18.1 组件的基本概念 172 18.1.1 实例60:一个Vue.js组件的示例 172 18.1.2 什么是组件 173 18.1.3 组件的复用 174 18.1.4 Vue组件与Web组件的异同点 175 18.2 组件交互方式 175 18.2.1 实例61:通过prop向子组件传递数据 175 18.2.2 实例62:监听子组件事件 176 18.2.3 实例63:兄弟组件之间的通信 179 18.2.4 实例64:通过插槽分发内容 181 18.3 让组件可以动态加载 183 18.3.1 实现组件动态加载的步骤 183 18.3.2 实例65:动态组件的示例 183 18.4 使用缓存组件keep-alive 188 18.4.1 实例66:keep-alive的例子 188 18.4.2 keep-alive配置详解 189 18.5 小结 190 18.6 练习题 190 第19章 Vue.js模板 191 19.1 模板概述 191 19.2 实例67:插值 192 19.2.1 文本 192 19.2.2 原生HTML代码 192 19.2.3 绑定HTML attribute 193 19.2.4 JavaScript表达式 193 19.3 实例68:在模板中使用指令 194 19.3.1 参数 195 19.3.2 理解指令中的动态参数 195 19.3.3 理解指令中的修饰符 196 19.4 实例69:在模板中使用指令的缩写 196 19.4.1 使用v-bind缩写 196 19.4.2 使用v-on缩写 197 19.5 使用模板的一些约定 197 19.5.1 对动态参数值的约定 197 19.5.2 对动态参数表达式的约定 198 19.5.3 对访问全局变量的约定 198 19.6 小结 198 19.7 练习题 198 第20章 Vue.js计算属性与监听器 199 20.1 通过实例理解“计算属性”的必要性 199 20.2 实例70:一个计算属性的例子 200 20.2.1 声明计算属性 200 20.2.2 模拟数据更改 201 20.3 计算属性缓存与方法的关系 202 20.4 为什么需要侦听器 202 20.4.1 理解侦听器 202 20.4.2 实例71:一个侦听器的例子 202 20.5 小结 204 20.6 练习题 204 第21章 Vue.js表达式 205 21.1 条件表达式 205 21.1.1 实例72:v-if的例子 205 21.1.2 实例73:v-else的例子 206 21.1.3 实例74:v-else-if的例子 206 21.1.4 实例75:v-show的例子 206 21.1.5 v-if与v-show的关系 207 21.2 for循环表达式 207 21.2.1 实例76:v-for遍历数组的例子 207 21.2.2 实例77:v-for遍历数组设置索引的例子 208 21.2.3 实例78:v-for遍历对象property的例子 210 21.2.4 实例79:数组过滤的例子 211 21.2.5 实例80:使用值的范围的例子 212 21.3 v-for的不同使用场景 213 21.3.1 实例81:在<template>中使用v-for的例子 213 21.3.2 实例82:v-for与v-if一同使用的例子 214 21.3.3 实例83:在组件上使用v-for的例子 215 21.4 小结 216 21.5 练习题 216 第22章 Vue.js事件 217 22.1 什么是事件 217 22.1.1 实例84:监听事件的例子 217 22.1.2 理解事件处理方法 218 22.1.3 处理原始的DOM事件 219 22.1.4 为什么需要在HTML代码中监听事件 220 22.2 实例85:多事件处理器的例子 220 22.3 事件修饰符 221 22.3.1 什么是事件修饰符 221 22.3.2 理解按键修饰符 222 22.3.3 理解系统修饰键 223 22.4 小结 224 22.5 练习题 224 第23章 Vue.js表单 225 23.1 理解表单输入绑定 225 23.2 实例86:表单输入绑定的基础用法 225 23.2.1 文本 225 23.2.2 多行文本 226 23.2.3 复选框 227 23.2.4 单选框 228 23.2.5 选择框 229 23.3 实例87:值绑定 230 23.3.1 复选框 230 23.3.2 单选框 231 23.3.3 选择框 232 23.4 小结 233 23.5 练习题 233 第24章 Vue.js HTTP客户端 234 24.1 初识HttpClient 234 24.2 认识网络资源 235 24.3 实例88:获取API数据 235 24.3.1 引入vue-axios 235 24.3.2 获取API数据 235 24.3.3 运行应用 236 24.4 小结 236 24.5 练习题 236 第25章 实战:基于Vue.js和Node.js的互联网应用 237 25.1 应用概述 237 25.1.1 “新闻头条”的核心功能 238 25.1.2 初始化数据库 238 25.2 模型设计 238 25.2.1 用户模型设计 238 25.2.2 新闻模型设计 239 25.3 接口设计 239 25.4 权限管理 239 25.5 小结 240 25.6 练习题 240 第26章 实战:前端UI客户端应用 241 26.1 前端UI设计 241 26.1.1 首页UI设计 241 26.1.2 新闻详情页UI设计 242 26.2 实现UI原型 242 26.2.1 初始化news-ui 242 26.2.2 添加Naive UI 243 26.2.3 创建组件 244 26.2.4 实现新闻列表原型设计 245 26.2.5 实现新闻详情页原型设计 247 26.3 实现路由器 249 26.3.1 理解路由的概念 249 26.3.2 使用路由插件 249 26.3.3 创建路由 249 26.3.4 如何使用路由 250 26.3.5 修改新闻列表组件 251 26.3.6 新闻详情组件增加返回按钮事件处理 252 26.3.7 运行应用 252 26.4 小结 253 26.5 练习题 253 第27章 实战:后端服务器应用 254 27.1 初始化后台应用 254 27.1.1 初始化应用目录 254 27.1.2 初始化应用结构 254 27.1.3 在应用中安装Express 255 27.1.4 编写后台Hello World应用 255 27.1.5 运行后台Hello World应用 256 27.2 初步实现登录认证 256 27.2.1 创建后台管理组件 256 27.2.2 添加组件到路由 256 27.2.3 注入HTTP客户端 257 27.2.4 客户端访问后台接口 257 27.2.5 后台接口设置安全认证 259 27.3 实现新闻编辑器 261 27.3.1 集成md-editor-v3插件 261 27.3.2 导入md-editor-v3组件及样式 261 27.3.3 编写编辑器界面 261 27.3.4 后台创建新增新闻接口 264 27.3.5 运行 266 27.4 实现新闻列表展示 266 27.4.1 后台实现新闻列表查询的接口 266 27.4.2 实现客户端访问新闻列表REST接口 267 27.4.3 运行应用 268 27.5 实现新闻详情展示 269 27.5.1 在后服务器实现查询新闻详情的接口 269 27.5.2 实现客户端访问新闻详情REST接口 270 27.5.3 运行应用 272 27.6 实现认证信息存储及读取 273 27.6.1 实现认证信息的存储 273 27.6.2 实现认证信息的读取 273 27.6.3 改造认证方法 274 27.6.4 改造对外的接口 274 27.7 小结 276 27.8 练习题 276 第28章 实战:使用Nginx实现高可用 277 28.1 Nginx概述与安装 277 28.1.1 Nginx介绍 277 28.1.2 下载、安装、运行Nginx 278 28.1.3 常用命令 281 28.2 部署前端应用 281 28.2.1 编译前端应用 281 28.2.2 部署前端应用编译文件 282 28.2.3 配置Nginx 282 28.3 实现负载均衡及高可用 283 28.3.1 配置负载均衡 284 28.3.2 负载均衡常用算法 284 28.3.3 实现后台服务的高可用 286 28.3.4 运行 287 28.4 小结 287 28.5 练习题 287 参考文献 288 |
写作背景 JavaScript是Web开发最为流行的编程语言,而Node.js的出现使得JavaScript可以在服务器端一展身手。结合Vue.js技术实现前端框架的组件化开发方式使得Vue.js+Node.js全栈开发变得盛行。笔者撰写了包括《Vue.js 3企业级应用开发实战》《Node.js企业级应用开发实战》在内的有关Vue.js和Node.js的图书,但将Vue.js和Node.js进行整合尚属首次。 本书介绍了Vue.js+Node.js全栈开发所使用的新技术,这些技术既能满足当前企业级应用的开发需求,又可以最大限度地减轻开发者的负担。通过本书的学习,可以令读者拓展视野,并提升职场竞争能力。本书主要面向计算机专业的学生、全栈开发爱好者及工程师。本书涉及的技术包括MongoDB、Express、Vue.js、Node.js、Naive UI、md-editor-v3、Nginx、basic-auth、JavaScript、TypeScript等,是市面上为数不多的介绍全栈技术开发的图书之一。 一书在手,肩挑全栈,事半功倍! 内容介绍 本书共28章,概要说明如下: ? 第1章为概述,介绍Vue.js+Node.js全栈开发架构所涉及的核心技术栈及周边技术栈的组成。 ? 第2~8章为Node.js的基础及进阶,介绍Node.js的基础及核心内容。 ? 第9~11章为Express的基础及进阶,介绍Express的基础及核心内容。 ? 第12~15章为MongoDB的基础及进阶,介绍MongoDB的基础及核心内容。 ? 第16~24章为Vue.js的基础及进阶,介绍Vue.js的基础及核心内容。 ? 第25~28章为实战,演示如何从0开始实现一个综合实战案例——新闻头条。 特 色 本书具备以下特色: ? 知识面广。无论是前端的Vue.js、Naive UI、md-editor-v3、basic-auth、JavaScript、TypeScript,还是后端的MongoDB、Node.js、Express、Nginx,本书均有涉及。 ? 版本新颖。本书所涉及的技术版本均为目前新版本。 ? 案例丰富。全书共计89个知识点实例和4个综合实战案例。 ? 全栈开发。熟习本书,可以掌握全栈开发技能。 资源下载 本书提供的源代码和PPT课件,可以扫描以下二维码下载: 若下载有问题,请发送电子邮件至booksaga@126.com,邮件主题为“Node.js+Express+MongoDB+ Vue.js全栈开发实战”。 本书所采用的技术及相关版本 技术的版本是非常重要的,因为不同版本之间存在兼容性问题,而且不同版本的软件所对应的功能也是不同的。本书所列出的技术在版本上相对较新,都是经过笔者大量测试的。这样读者在自行编写代码时,可以参考本书所列出的版本,从而避免版本兼容性所产生的问题。建议读者将相关开发环境设置得与本书一致,或者不低于本书所列的配置。详细的版本配置,可以参阅本书“附录”中的内容。 勘误和交流 本书如有勘误,会在以下网址发布: http://github.com/waylau/full-stack-development-with-vuejs-and-nodejs/issues 由于笔者能力有限、时间仓促,书中难免出现疏漏之处,欢迎读者批评指正。 致 谢 感谢清华大学出版社的各位工作人员为本书的出版所做的努力。 感谢我的父母、妻子和两个女儿。由于撰写本书,我牺牲了很多陪伴家人的时间,谢谢他们对我的理解和支持。 感谢关心和支持我的朋友、读者、网友。 柳伟卫 2022年12月 |
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格