先说清楚:这门课不是给零基础的人看的

如果你还没写过 React 组件、不清楚 JSX 里怎么传 props,也没碰过后端接口是怎么返回数据的,那这门课会让你在第一周就卡住。它更适合这样一类人:前端能写页面,但项目一到「要自己搭后端」就发怵;或者后端能写接口,但不想每次联调都求前端帮忙改字段。旅游电商这个选题很实在——它天然包含商品列表、详情页、下单、订单状态这几类典型场景,任何一条业务链走下来,前后端都躲不开。

换句话说,缺的不是「怎么用 React」,缺的是「一个完整需求从数据库到页面要经过哪些手」。

这门课真正补的是三处能力缺口

缺口一:接口是你自己写的,不是别人喂的

前端学了很久的人,最熟悉的动作是「找后端要接口文档」。这门课把视角翻过来:Egg.js 里怎么定义路由、怎么写控制器、参数校验放哪一层、返回结构怎么统一。你会亲手体会到,为什么有的接口改一个字段就牵动三处调用——因为你自己就是那个改字段的人。

缺口二:数据是要落库的,不是内存里的假数组

旅游电商涉及产品、库存、订单,这些数据之间有明确的关联关系。用 MySQL 建表、设计字段类型、写查询,比在代码里 mock 一堆 JSON 要麻烦,但只有走一遍,你才会理解分页、筛选、状态流转为什么会成为后端的基本功。

缺口三:部署不是「npm run dev 就完事」

课程线索里出现了容器化的内容。对前端来说,把本地能跑的代码变成一个别人访问得到的服务,中间隔着的正是环境、依赖和配置。这块不用学得多深,但至少要能自己把一套前后端服务跑起来。

配套练习怎么用才不白学

  • 不要只看视频敲一遍就过。每完成一个模块,把当天的接口用自己的话写一句「它接收什么、返回什么、失败时怎样」。
  • 旅游电商的功能点可以拆开替换。比如把「旅游线路」换成「课程报名」,表结构基本不变,但你会被迫重新想字段命名和状态机。
  • 遇到报错先别翻笔记,先去控制台看请求的真实返回。全栈开发里八成的 bug 出在「你以为它返回了 A,其实返回了 B」。
  • 最后一章的综合实战,建议合上视频自己从零搭一遍。卡住的地方才是你真正的薄弱点,笔记在那一刻才有用。

学完之后,你应该能回答这几个问题

  • 一个 React 页面从发请求到渲染列表,中间经过了哪些层?每一层出问题时的表现有什么不同?
  • 为什么订单状态不适合只存一个字符串字段?如果业务要求加一个「已退款」状态,你的表要怎么改?
  • Egg.js 里把校验逻辑放在控制器和放在 service,各自会带来什么麻烦?
  • 如果前后端部署在同一台机器上,跨域问题还需要处理吗?为什么?
  • 假设接口突然变慢,你会先看数据库、看服务日志,还是先看网络请求?依据是什么?

这些问题答不上来,说明你只是跟着敲了一遍;能答上来,才说明这套轮子你真的装到自己车上了。查漏补缺的意思不是把课看完,而是看完之后知道下一次该补哪里。


image.webp 下载附件   保存到相册 2025-6-13 23:49 上传

课程推荐

《用 React.js+Egg.js 造轮子 全栈开发旅游电商应用》image.webp 下载附件   保存到相册 2025-6-13 23:49 上传【技能收获】学完可掌握:Vue / 前端工程化、Docker / 容器化、MySQL / 数据库、React 前端。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。

视频目录(96 节)

*   1-1 课前须知,这里有你需要了解的一切  (1120).mp4

*   2-1 本章概览  (0432).mp4

*   2-2 前端开发环境搭建  (0411).mp4

*   2-4 UmiJs极速入门(上)  (1411).mp4

*   2-5 Umijs极速入门(下)  (0549).mp4

*   2-6 react组件生命周期(上)  (1511).mp4

*   2-7 react组件生命周期(下)  (0845).mp4

*   2-8 react组件之间的通信方式  (0850).mp4

*   2-9 Dva数据处理及数据mock  (1859).mp4

*   2-10 基于react context api 实现数据流管理  (1341).mp4

*   2-11 LazyLoad组件开发【基于lazy 与 suspense 实现的懒加载组件】  (1105).mp4

*   2-12 ErrorBoundary组件开发【基于React错误边界技术实现的组件】  (0609).mp4

*   2-13 Modal组件开发【基于createPortal 创建自定义**窗组件】  (1152).mp4

*   2-14 使用 ref api 来操作dom和组件  (1003).mp4

*   3-1 react hook api-新的组件开发模式  (1624).mp4

*   3-2 useContext和useReducer实现数据流管理  (1019).mp4

*   3-3 useTitleHook【根据url修改页面title的自定义hook】  (0644).mp4

*   3-4  useHttpHook【基于fetch api 封装具有监测功能的自定义hook】  (1151).mp4

*   3-5 使用think-react-store实现数据处理【基于React context 和 hook的数据流解决方案】  (1600).mp4

*   3-6 Fiber架构解析  (0654).mp4

*   4-1 Egg.js 企业级开发的利器概述  (0702).mp4

*   4-2 Egg.js 初体验  (0816).mp4

*   4-3 Node.js 中的进程  (1622).mp4

*   4-4 Egg.js 中多进程模式-  (0644).mp4

*   4-5 超越ExpressKoa2,Egg.js中的渐进式开发模式  (0852).mp4

*   5-1 Egg.js 中 Controller 的使用和单元测试  (1140).mp4

*   5-2 Egg.js 路由中 get 请求的处理方式  (0553).mp4

*   5-3  Egg.js 路由中 postputdelete等请求的处理及参数校验  (1052).mp4

*   5-4 Egg.js 中 Service  服务和单元测试  (0705).mp4

*   5-5 Egg.js 中使用 Ejs 模版引擎  (1402).mp4

*   5-6 Ejs 模版引擎中静态资源的使用和配置  (0734).mp4

*   5-7 Egg.js 中 Cookie 的配置和使用以及如何设置中文cookie  (1632).mp4

*   5-8 Egg.js 中 Session 的配置和使用  (1141).mp4

*   5-9 Egg.js 中使用 HttpClient 请求其他接口  (0743).mp4

*   6-1 中间件,绕不开的洋葱圈模型【实现日志中间件httpLog】  (1137).mp4

*   6-2 丰富的扩展方式,项目开发得心应手【提取公共逻辑,提升开发效率】(上)  (1159).mp4

*   6-3 丰富的扩展方式,项目开发得心应手【提取公共逻辑,提升开发效率】(下)  (1218).mp4

*   6-4 插件机制, Egg.js 灵活应用【实现用户登录验证插件egg-auth】  (0843).mp4

*   6-5 Egg.js 中的定时任务  (0525).mp4

*   7-1 安装 Mysql 数据库  (0311).mp4

*   7-2 Mysql 入门,基础增删改查操作  (0843).mp4

*   7-3 使用egg-mysql插件操作数据库  (1430).mp4

*   7-4 Egg.js 中使用 Sequelize 操作 mysql 数据库  (1404).mp4

*   8-1 本章概览  (0452).mp4

*   8-2 实现网站的底部导航功能  (1808).mp4

*   8-3 首页开发  (2309).mp4

*   8-4 为首页添加数据mock(使用useHttpHook请求数据)  (0655).mp4

*   8-5 开发搜索页面  (1519).mp4

*   8-6 初识IntersectionObserver,实现useObserverHook  (1509).mp4

*   8-7 使用useObserverHook实现滚动加载(上)  (1357).mp4

*   8-8 使用useObserverHook实现滚动加载(下)  (1013).mp4

*   8-9 使用useImgHook实现图片懒加载  (1056).mp4

*   8-10 优化-提取公共组件,使用枚举,引入project-libs  (1543).mp4

*   8-11 民宿详情页面界面开发  (2403).mp4

*   8-12 为民宿详情页面添加数据流管理(上)  (1818).mp4

*   8-13 为民宿详情页面添加数据流管理(下)  (2344).mp4

*   8-14 开发订单页面  (1213).mp4

*   8-15 为订单页面添加滚动加载效果(使用useObserverHook,但不监听数据)  (1545).mp4

*   8-16 开发我的页面(使用rc-form处理表单数据)  (1849).mp4

*   8-17 为我的页面添加数据管理  (1300).mp4

*   8-18 开发用户登录和注册页面  (1609).mp4

*   8-19 通过 umi 运行时配置,对页面进行登陆验证  (1221).mp4

*   8-20 优化-使用 React.memo 减少渲染次数  (0610).mp4

*   8-21 优化-订单页面添加骨架屏  (0721).mp4

*   9-1 本章概览  (0253).mp4

*   9-2 创用户表,建基于 Sequelize 编写用户模型  (0746).mp4

*   9-3 开发用户注册接口  (1004).mp4

*   9-4 扩展Egg.js的帮助函数  (0431).mp4

*   9-5 开发用户登陆接口  (0555).mp4

*   9-6 什么是 JWT 技术?  (0244).mp4

*   9-7 使用 JWT **注册和登陆接口,并联调登录注册接口  (1116).mp4

*   9-8 开发用户详情接口和用户退出登录接口  (1150).mp4

*   9-9 优化用户登录验证插件  (0517).mp4

*   9-10 redis 的简单使用,将用户基础信息存储在 redis 中  (1038).mp4

*   9-11 将公共逻辑写在BaseController和BaseService里面,并开发新的中间件  (1531).mp4

*   9-12 编写用户编辑接口,并与前端进行联调  (0912).mp4

*   10-1 创建民宿、评论表以及编写 Sequelize 模型  (1745).mp4

*   10-2 开发egg-notFound 插件,处理接口不存在问题  (0954).mp4

*   10-3 获取城市列表数据,基于Sequelize多表联查编写热门民宿接口  (1421).mp4

*   10-4 编写搜索民宿接口,与前端联调  (0802).mp4

*   10-5 编写民宿详情接口,与前端联调  (0652).mp4

*   10-6 编写添加评论和评论列表接口,与前端联调  (1156).mp4

*   10-7 创建订单表,基于 Sequelize 编写订单模型  (0559).mp4

*   10-8 编写预定和取消预定民宿接口,与前端联调  (2025).mp4

*   10-9 编写订单列表接口,与前端联调  (0902).mp4

*   10-10 Egg.js 模拟支付过程,与前端联调  (0640).mp4

*   10-11 优化用户信息获取方式,对egg框架进行扩展  (0424).mp4

*   11-1 XSS 常见**方式与解决思路  (0900).mp4

*   11-2 CSRF 常见**方式与解决思路(开发egg-allowHosts插件)  (0851).mp4

*   11-3 如何对接口限流,避免无限制请求(开发egg-interfaceLimit插件)  (0540).mp4

*   11-4 接口缓存问题处理(开发egg-interfaceCache插件)  (0600).mp4

*   12-1 Docker简介  (0423).mp4

*   12-2 Docker基础入门  (1159).mp4

*   12-3 阿里云后台介绍  (0442).mp4

*   12-4 项目部署  (1928).mp4

*   12-7 课程总结  (0802).mp4