新書推薦:
《
古籍善本
》
售價:HK$
537.6
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:HK$
87.4
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
143.4
《
清俗纪闻
》
售價:HK$
98.6
《
镜中的星期天
》
售價:HK$
76.2
《
世界前沿技术发展报告2024
》
售價:HK$
188.2
《
可转债——新手理财的极简工具
》
售價:HK$
65.0
《
新加坡教育:神话与现实
》
售價:HK$
96.3
|
編輯推薦: |
本书以实现一个类似Dribble的应用为例,将Node.js的技术点贯穿前后端的开发,整合Egg.js、Vue.js、Docker实现持续集成、持续部署的前后端分离应用。本书不局限于对Egg.js、Vue.js、Docker的讲解,书中还分享企业中必须要懂得的开发常识,比如如何对接服务(支付宝支付对接)、开放服务(通过OAuth开放API给第三方)。
|
內容簡介: |
本书以实现一个类似Dribble的应用为例,将Node.js的技术点贯穿前后端的开发,整合Egg.js、Vue.js、Docker实现持续集成、持续部署的前后端分离应用。本书不局限于对Egg.js、Vue.js、Docker的讲解,书中还分享企业中必须要懂得的开发常识,比如如何对接服务(支付宝支付对接)、开放服务(通过OAuth开放API给第三方)。
|
目錄:
|
目录
第1章 Node.js的优势1
1.1 为什么是JavaScript语言1
1.2 为什么经常说Node.js不适合大型应用3
第2章 Egg.js框架核心原理与实现6
2.1 异步基础6
2.2 Koa.js基础知识15
2.2.1 Koa.js 中间件核心代码16
2.2.2 Koa.js插件18
2.3 Egg.js 基础知识21
2.3.1 实现 egg-core22
2.3.2 实现 egg-init26
2.3.3 实现egg-cluster30
2.4 Egg.js插件33
2.4.1 egg-socket.io33
2.4.2 原理解读39
2.5 制作一个Egg.js插件43
第3章 构建后端API服务52
3.1 安装相关组件52
3.2 发布一个插件59
3.2.1 创建Flash插件59
3.2.2 使用egg-msg-flash72
3.2.3 使用egg-y-validator73
3.3 规范化73
3.3.1 添加新的scripts支持ESLint自修复74
3.3.2 添加插件支持74
3.3.3 prettier格式化工具76
3.3.4 同步代码编辑器配置76
3.4 第一个JSON请求77
3.4.1 给全局添加一些方法77
3.4.2 全局化一些东西84
3.4.3 自动路由86
3.4.4 创建 PostMan 测试88
3.5 注册服务91
3.5.1 Invitation模型91
3.5.2 注释93
3.5.3 User模型96
3.5.4 修改控制器97
3.5.5 添加验证逻辑98
3.5.6 帮助方法99
3.5.7 User服务101
3.5.8 PostMan测试103
3.6 登录服务104
3.7 邮件与调试115
3.7.1 理解发送邮件的原理115
3.7.2 安装邮件插件115
3.7.3 环境与调试116
3.7.4 全局调试118
3.7.5 VSCode全局调试121
3.7.6 发送验证邮件122
3.7.7 添加逻辑125
3.7.8 验证135
3.8 构建 RESTful API137
3.8.1 什么是RESTful API137
3.8.2 创建RESTController基础类便于继承138
3.8.3 测试Images RESTful API141
3.8.4 构建后台的REST路由143
3.8.5 构建控制器145
3.8.6 测试后台路由148
3.8.7 关于验证149
3.9 安全地开放API151
3.10 实现OAuth接口158
3.10.1 实现授权码官方文档所要求的接口158
3.10.2 实现刷新验证码接口167
3.10.3 实现 authenticate 所需接口169
3.11 完善OAuth与测试170
3.11.1 发放Token170
3.11.2 新建客户端项目172
3.11.3 测试OAuth173
3.12 支付宝支付176
3.12.1 什么是非对称加密176
3.12.2 注册支付宝176
3.12.3 生成非对称秘钥176
3.12.4 实现177
3.12.5 添加路由180
3.12.6 内网穿透180
3.12.7 测试182
3.13 社会化登录183
第4章 构建后台管理页面189
4.1 后端开发189
4.1.1 安装VSCode插件189
4.1.2 获取脚手架189
4.1.3 安装依赖190
4.1.4 修改代码190
4.1.5 跨域请求191
4.1.6 修改后端代码支持跨域192
4.1.7 在前端添加存储198
4.2 模型列表200
4.3 添加数据209
4.4 修改逻辑220
第5章 前端界面设计与实现228
5.1 搭建前端开发环境228
5.1.1 开始228
5.1.2 创建Header头部229
5.1.3 将变量提取出来234
5.1.4 添加路径重写235
5.2 AppFooter组件237
5.2.1 做一些配置237
5.2.2 创建srccomponentslayoutsAppFooter.vue238
5.2.3 网络识别信息247
5.2.4 修改一下全局样式247
5.2.5 查看页面248
5.2.6 提升编译速度248
5.3 首页249
5.4 替换成为真实数据269
5.4.1 完成后端Image API269
5.4.2 修改首页的代码271
5.4.3 添加API逻辑276
5.4.4 效果278
5.5 图片详情页278
5.5.1 创建路由279
5.5.2 安装依赖279
5.5.3 创建视图279
5.5.4 添加插件285
5.5.5 创建评论组件286
5.5.6 测试290
5.5.7 关于服务端访问DOM290
5.6 注册页面294
5.6.1 注册路由294
5.6.2 新建signup.vue页面295
5.6.3 增强错误提示299
5.7 登录页面299
5.8 完善详情与评论310
5.9 个人中心321
5.10 创建图片336
5.10.1 创建又拍云存储336
5.10.2 添加后端API338
5.10.3 前端界面340
5.10.4 测试348
5.11 团队349
5.11.1 功能是如何工作的350
5.11.2 数据库350
5.11.3 后端356
5.11.4 前端363
5.11.5 测试372
第6章 部署与运维374
6.1 认识Docker374
6.1.1 解决了什么问题374
6.1.2 使用Docker的流程375
6.1.3 安装Docker378
6.1.4 使用加速器378
6.1.5 下载一个基础镜像379
6.1.6 hello world379
6.2 手动构建镜像380
6.3 编写Dockerfile文件384
6.4 Docker Compose387
6.4.1 安装docker-compose387
6.4.2 命令行接口388
6.4.3 Egg.js简单实例389
6.4.4 增加服务391
6.5 集群396
6.5.1 Docker集群396
6.5.2 集群初始化396
6.5.3 实例397
6.6 持续部署400
6.6.1 部署主机免密码登录400
6.6.2 客户端钩子401
6.6.3 使用服务端钩子进行部署403
6.6.4 使用 shipit404
6.6.5 使用 Ansible 部署406
6.7 持续集成409
6.8 Kubernetes集群423
6.8.1 简单使用423
6.8.2 如何创建应用425
6.8.3 命令行管理430
6.8.4 通过UI创建应用433
6.8.5 添加持续集成439
6.8.6 固定IP地址441
6.8.7 部署前端442
第7章 性能分析与优化448
7.1 服务器性能分析与测试448
7.2 用户追踪458
7.2.1 百度分析458
7.2.2 Google分析460
7.2.3 其他付费服务461
7.3 前端性能分析与优化461
7.3.1 lighthouse461
7.3.2 sonarwhal462
7.3.3 图片压缩464
7.3.4 错误上报465
7.3.5 接收用户反馈466
|
內容試閱:
|
前言
为什么要写这本书
前端生态圈的繁荣离不开Node.js。Node.js在制作工具方面的表现极其优秀,在开发Web方面也有很多历史积累。Node.js领域的图书很多,比如侧重Node.js语法、核心本身,或者侧重调试,而对于Web开发,提及OAuth、JWT原理的并不多,涉及前端范畴的在线支付、持续集成、Docker等内容也较少。
笔者比较喜欢体验各种语言,在大学的时候学习和体验了各种语言,包括C、C、C#、Java、Python、Ruby、PHP等,在笔者的网站nodelover.me你还会发现有Go、Rust的免费视频教程。笔者把大部分精力都花在了JavaScript上面,后来才有了这本书。
Node.js底层还有许多内容笔者也没有弄懂,不过80%的业务场景,只需要20%的技术能力就可以解决。笔者跟读者一样,都是一个学习者。笔者希望更多的人学习Node.js、使用Node.js,使它更加强大。
本书适合的对象
? 有JavaScript基础的读者;
? 想要体验完整开发流程的读者;
? 想要精通Node.js Web开发的读者;
? 对Koa.js和Egg.js实现原理感兴趣的读者。
本书也可以作为Node.js的入门教程,但是需要你有一定的自学能力,对于一些基础的知识,笔者都会给出视频链接,读者可以自行学习。
本书结构
? 第1章:主要叙述了Node.js的历史,以及为什么要使用它。
? 第2章:讲解JavaScript的异步、函数式编程、Koa.js实现原理,以及Egg.js是如何在Koa.js上面进行扩展的、Egg.js是怎样的架构、如何开发出一个Egg.js插件并发布到npmjs。
? 第3章:使用Egg.js对后端服务进行开发,设计数据库表,构建模型关系映射,建立模型之间的关系。构建安全的API,使用JWT构建登录,使用OAuth给第三方开发者开发API。
? 第4章:通过Vue.js构建一个简易的后台,通过百行代码实现从后台读取数据库关系,使用Vue.js动态地生成对应模型的表单,自动增删改查。
? 第5章:使用TypeScript与Vue.js搭建SSR服务端渲染环境,构建友好的SEO,开发前端显示界面。
? 第6章:使用Docker部署我们的应用,讲解如何编写Dockerfile、docker-compose.yml,如何实现通过修改一行代码提交修改,然后自动部署服务。
? 第7章:性能分析与优化,包括服务器性能优化、用户追踪、前端性能优化。
勘误与支持
由于部分npm组件API的变动与Node.js的发展,以及笔者的疏忽、水平有限,书中总会有一些不足之处,还望读者批评指正,可以通过以下的方式与笔者联系。
GitHub issues:https:github.comMiYogurtnodejs-shizhan
QQ群:325568224
致谢
首先要感谢的是曾经努力的自己,对他说一句你真棒。其次感谢父母对我的支持,假如没有父母的支持,可能我就不会有那么多的精力来做这件事情。感谢陈晓猛编辑的耐心指导、审稿、修改,在他的修改下,使得本书有更好的阅读体验。最后感谢的是Node.js社区的各位开发者,我们都是站在巨人的肩膀上,感谢巨人们。
|
|