LESSON 03 · 幕后之旅 / DEBUGGING
你这边风平浪静,他那边兵荒马乱。
情景
晚上十点,用户发来一句「网站坏了」,附一张截图:页面上只有四个字——「出了点问题」。你打开电脑,点了同一个按钮十遍,一切正常。问题出在哪?你甚至不知道该先查哪一头。
本课 8 个概念 · 约 3 分钟
救火先找火源:错误从哪冒出来的,现场留下了什么。
对异常情况做捕获和处理的机制。
跟 AI 这么说
线上页面只弹一句「出了点问题」,太笼统了。帮我把错误处理改成给出具体原因:出错的是哪一步、用户当时做了什么,出错时接口也返回能判断的错误信息,别只回一句失败。
记录运行状态和异常信息,便于事后排查。
跟 AI 这么说
在登录接口的关键步骤加上日志:收到请求的时间、用户 id、每一步校验的结果、写库是否成功。下次出问题,我能按用户 id 在日志里查出完整经过。
本地和线上的差距,常常藏在配置、时序和缓存里。
临时存储高频数据以提升访问速度的机制。
跟 AI 这么说
用户说他刚改的资料没生效,页面上还是旧数据。先检查是不是缓存没刷新:找出哪里做了缓存、数据更新后怎么让它失效,别让用户等过期。
不阻塞主流程的执行方式,如 Promise、async/await。
跟 AI 这么说
这个接口先返回了成功,实际写入却晚了一步,用户刷新又看不到。检查是不是异步处理没有等写入完成就返回了,让结果落定之后再返回成功。
不写进代码的配置信息,如数据库地址、密钥。
跟 AI 这么说
线上报错连不上数据库,本地却正常。对比线上和本地的环境变量,重点查数据库地址、账号密码这几项配置有没有漏配或配错。
有些错不出在你的代码里,出在代码与外界的交界处。
浏览器对跨域请求的安全限制,以及对应的解决方案。
跟 AI 这么说
前端请求被浏览器拦下,控制台报 CORS 跨域错误。帮我确认后端有没有按规范返回 Access-Control-Allow-Origin 这些响应头,而不是让我关掉浏览器的安全设置。
把请求转发到目标服务器的中间服务。
跟 AI 这么说
开发时前端调后端接口遇到跨域,请用代理转发:把 /api 开头的请求转发到本地的后端端口,前端代码不用改地址,部署时再换成线上配置。
限制请求频率,保护服务器不被压垮。
跟 AI 这么说
有用户说操作多了就被拒,提示还看不懂。检查限流规则:正常用户每秒允许几次、超限后返回什么明确提示,别误伤真人,也别松到被打垮。
试一试
选择题 · 选一个你认为最合适的答案