人工精选Node.js+Koa2+MySQL 打造前后端分离精品项目《旧岛》
这门课的主线很清楚:用一个叫「旧岛」的小程序服务端项目,把 Node.js、Koa2 和 MySQL 串成一条能跑通的链路。它要解决的不是「Node 语法不会」的问题,而是很多人学完基础后仍然写不出一个结构像样的后端:路由写得散、异常一抛就崩、登录状态靠前端硬存、分页和联表查询全靠拼字符串。课程把这
会员 A · 按档位折扣
会员 B
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
这门课的主线很清楚:用一个叫「旧岛」的小程序服务端项目,把 Node.js、Koa2 和 MySQL 串成一条能跑通的链路。它要解决的不是「Node 语法不会」的问题,而是很多人学完基础后仍然写不出一个结构像样的后端:路由写得散、异常一抛就崩、登录状态靠前端硬存、分页和联表查询全靠拼字符串。课程把这些坑放在一个具体业务里逐个处理,学完你对「一个接口从收到请求到落库返回」的全过程会有完整概念。
它适合什么基础的人
需要你已经能读懂 JavaScript,知道回调、Promise、async/await 大概是怎么回事,也写过最简单的 Express 或 Koa 路由。如果完全没碰过后端,直接跟会有点吃力,因为课程节奏偏实操,讲异步和异常处理时默认你有一定 JS 底子。数据库方面不要求精通 SQL,但至少要知道表、字段、主键是什么,否则讲到联表查询和 in 查询时会跟不上思路。转行者拿它当第一个完整后端项目是合适的,前提是先补一遍 JS 异步。
建议先看哪几块
开头对 Koa 的改造值得认真看,它决定了后面所有代码的组织方式:怎么把路由拆出去、怎么让中间件复用、怎么统一处理返回结构。接着是异常处理那一部分,异步异常和全局异常捕获是这类项目最容易写乱的地方,先弄明白这套机制,后面调试会省很多时间。再往后是登录与令牌刷新,无感知刷新这个场景在实际产品里很常见,理解它比记代码更有价值。点赞业务和 MySQL 的 in 查询属于业务与数据库结合的部分,可以放在有了一定手感之后再啃。最后的前后端对接环节,重点看参数怎么传、状态码怎么约定,而不是照抄前端页面。
学完能独立做什么,资料怎么用
跟完之后,你应该能独立搭起一个前后端分离的服务端:自己设计路由分层、写统一的异常和响应格式、用 MySQL 完成增删改查与联表统计、实现基于令牌的登录与续期,并把它接到一个真实的前端或小程序上。练习方式建议是「改需求」而不是「抄代码」:每学完一个模块,就把旧岛的业务换成自己想做的场景,比如把点赞换成收藏、把令牌刷新周期改掉,看哪些地方会连锁出错。资料里的视频按章节顺序看即可,遇到讲数据库和异常的部分可以放慢,边看边把代码敲一遍,只读不写基本记不住。如果时间有限,优先保证路由改造、异常处理、登录这三块吃透,其余部分当作查阅用。
课程目录
课程介绍 本页收录 Node.js+Koa2+MySQL 打造前后端分离精品项目《旧岛》,方向为体系课,重点涉及 Node、后端。 内容涵盖:让KOA更加好用 路由系统的改造、深入浅出讲异常 异步异常与全局异常处理、使用Lin、点赞业务的实现、面向对象与MySQL in 查询、无感知刷新 获取令牌 登陆等 前后端对接 等主题。 适合正在补 Node、后端 相关知识、想按目录逐步推进的学习者。 下方为完整资料与目录,可先看目录判断是否符合需要。 第1章 【导学】从0到1手把手教你用Node.js KOA2打造超好用的 Web框架 1-1 纯正商业级应用 Node.js Koa2开发微信小程序服务端-导学 (20:14) 1-2 异步、JavaScript特性与NodeJS (16:02) 1-3 申请AppKey (01:03) 1-4 旧岛小样业务分析 (08:16) 1-5 课程维护及更新说明 (02:19) 第2章 【深入理解KOA】Koa2的那点事儿与异步编程模型 2-1 软件与环境(新手看,老鸟跳过) (09:57) 2-2 node一小步,前端一大步 (08:31) 2-3 KOA的精简特性与二次开发必要性分析 (12:22) 2-4 模块加载、ES、TS、Babel浅析 (12:32) 2-5 KOA的中间件 (12:59) 2-6 洋葱模型 (07:31) 2-7 强制Promise (03:28) 2-8 深入理解async和await (21:22) 2-9 为什么一定要保证洋葱模型? (15:24) 第3章 【让KOA更加好用】路由系统的改造 3-1 路由系统 (18:23) 3-2 服务端编程必备思维:主题与模型划分 (08:41) 3-3 多Router拆分路由 (15:30) 3-4 nodemon自动重启Server (05:38) 3-5 vscode+nodemon调试配置 (03:41) 3-6 requireDirectory实现路由自动加载 (12:05) 3-7 初始化管理器与Process.cwd (09:31) 第4章 【深入浅出讲异常】异步异常与全局异常处理 4-1 参数获取与LinValidator校验器 (18:35) 4-2 异常理论与异常链 (18:57) 4-3 异步异常处理方案 (14:42) 4-4 全局异常处理中间件编写 (12:53) 4-5 已知错误与未知错误 (10:26) 4-6 定义异常返回格式 (09:05) 4-7 定义HttpException异常基类 (08:03) 4-8 特定异常类与global全局变量 (09:28) 第5章 LinValidator校验器与Sequelize Orm生成MySQL数据表 5-1 Lin-Validator使用指南 (17:57) 5-2 Lin-Validator获取HTTP参数 (14:18) 5-3 配置文件与在终端显示异常 (07:13) 5-4 关系型数据库与非关系型数据库 (新手看,老鸟跳过) (11:57) 5-5 Navicat管理MySQL (新手看,老鸟跳过) (10:26) 5-6 Sequelize初始化配置与注意事项 (07:57) 5-7 User模型与用户唯一标识设计探讨 (17:36) 5-8 Sequelize个性化配置与数据维护策略 (19:49) 5-9 LinValidator综合应用 (20:43) 第6章 【构建用户身份系统】通用用户系统与小程序用户系统 6-1 用户注册与Sequelize新增数据 (21:17) 6-2 中间件只在应用程序启动时初始化一次 (05:10) 6-3 盐与密码加密的小知识 (06:27) 6-4 模型的set操作 (06:46) 6-5 Success操作成功处理 (05:25) 6-6 isOptional校验 (13:11) 6-7 模拟枚举 (11:51) 6-8 验证用户账号密码 (13:05) 第7章 【主流的用户身份识别方式与权限控制】JWT令牌与Auth权限控制中间件 7-1 jsonwebtoken (06:48) 7-2 HttpBasicAuth传递令牌 (13:43) 7-3 验证JWT令牌 (10:05) 7-4 API权限分级控制 (09:34) 7-5 小程序openid登录系统 (11:04) 7-6 微信鉴权、openid与unionid (14:57) 7-7 根据openid创建微信用户 (09:38) 第8章 使用Lin-UI与在小程序中使用npm 8-1 Lin-UI组件库安装 (14:28) 8-2 在小程序中登录 (11:05) 8-3 Token Verify接口 (13:55) 8-4 数据库设计的好思路(实体表与业务表) (18:40) 8-5 Music、Sentence、Movie模型定义 (17:19) 8-6 Flow模型与导入SQL数据 (15:09) 8-7 在小程序中携带令牌 (08:34) 8-8 Sequelize模型的序列化 (16:43) 第9章 点赞业务的实现 9-1 点赞业务逻辑分析与模型设计 (08:00) 9-2 数据库事务的基本概念 (08:29) 9-3 点赞业务逻辑实现 (25:14) 9-4 LinValidator的alias别名_01 (11:19) 9-5 使用module-alias别名简化require路径 (08:07) 9-6 Sequelize Scope的应用 (14:26) 9-7 获取上一期和下一期的期刊信息 (10:37) 第10章 面向对象与MySQL in 查询 10-1 获取期刊点赞信息 (30:56) 10-2 修复上小节Type的问题 (14:27) 10-3 避免循环查询数据库 (13:24) 10-4 in查询避免循环查询数据库 (18:39) 10-5 面向对象设计谈:静态与实例 (20:30) 10-6 小心循环导入 (05:05) 第11章 MySQL group分组查询与JS并发原理 11-1 热门书籍数据表设计 (17:57) 11-2 并发、并行,单线程的JS为什么可以高并发? (16:41) 11-3 MySQL group分组查询 (17:44) 11-4 获取热门图书列表 (07:39) 11-5 从鱼书服务获取图书详情数据 (12:14) 11-6 浅谈中间层和微服务 (13:34) 第12章 KOA、Sequelize多层级JSON序列化 12-1 图书搜索 (16:22) 12-2 书籍点赞情况和我喜欢数据的数量接口实现 (14:44) 12-3 新增短评和短评+1接口实现 (13:52) 12-4 获取短评接口实现 (06:58) 12-5 JavaScript中的JSON序列化控制 (11:38) 12-6 全局控制Model模型JSON序列化行为(上) (07:57) 12-7 全局控制Model模型JSON序列化行为(下) (09:51) 12-8 Model上不要定义构造函数,否则会出错 (06:51) 第13章 【无感知刷新、获取令牌、登陆等】前后端对接 13-1 小程序如何实现无感知刷新令牌? (08:50) 13-2 坑!坑!坑!Model中禁止使用构造函数 (12:11) 13-3 短评修复 (09:43) 13-4 KOA静态资源 (14:12) 13-5 image完整路径方案探讨 (17:55) 13-6 静态资源存储方案探讨 (11:00) 13-7 access_token和refresh_token双令牌保证无感知登录 (15:14) 第14章 项目部署指南 14-1 部署指南与小程序云开发探讨 (25:47) 14-2 守护进程与PM2 (06:02) 第15章 关于Lin CMS和现代大型Web架构思想 15-1 基于前后端分离架构的Lin-CMS (14:29) 15-2 Lin UI使用注意事项 (10:40) 15-3 Lin CMS的两种建立API模式 (10:43) 15-4 Lin CMS三种粒度的组件化支持:插件、业务组件与基础组件 (14:14) 15-5 Lin CMS权限与结束语 (09:20) 15-6 现代大型Web架构讲解 (24:41)





