文章

工具实践

前端工程里,我为什么越来越在意接口边界、错误处理和日志

发布于2026-05-12更新于2026-05-12阅读时间4 分钟
文章目录
正文

前端工程里,我为什么越来越在意接口边界、错误处理和日志

前端项目刚起步时,大家最容易关注的是页面能不能跑起来、组件写得顺不顺手。但项目一旦进入多人协作和长期维护阶段,真正拉开差距的,往往不是某个页面写得多漂亮,而是系统出了问题时,能不能快速定位、快速止损、快速修复。

接口边界不清,后面一定会越来越乱

我现在很怕一种情况:接口返回什么,页面就直接吃什么。短期看确实快,但后面只要后端字段一变、接口多给一层嵌套、状态码策略稍微不同,前端就会有一堆页面一起受影响。
所以我现在更习惯在请求层先做一次整理:
  • 把接口数据映射成页面真正需要的结构
  • 把成功和失败语义统一
  • 把空值、默认值和边界状态提前兜住
这样做的好处不是“更优雅”,而是让页面层少背很多不稳定性。

错误处理不是 catch 一下就够了

很多项目里的错误处理,其实只是“别让它报红”。但工程实践里更重要的是:出了错以后,用户看到什么,业务还能不能继续,开发能不能定位原因。
我现在会更在意这几件事:
  • 请求失败后有没有明确反馈
  • 表单提交失败后能不能保留用户输入
  • 权限异常和网络异常有没有区分
  • 关键流程失败时有没有降级路径
如果错误只是在控制台里一闪而过,用户不知道发生了什么,开发也不知道哪一步坏了,那这个错误处理基本等于没做。

日志的价值,在出问题那一刻会被放大

平时最容易被省略的就是日志,但真正线上出问题时,日志往往是最值钱的证据。
我说的不是到处 console.log,而是对关键节点有明确记录:
  • 触发了哪个动作
  • 请求参数是什么
  • 返回结果是否异常
  • 当前用户处于什么上下文
ts
logger.error('submit_order_failed', { orderId, userId, reason, })
这类日志最大的意义,是帮我们把“用户说它坏了”变成“我们知道它在哪一步坏了”。

我现在更愿意把这些放进基础层

接口边界、错误处理、日志这三件事,如果每个页面都临时写,最后通常会风格混乱、质量不齐。所以我更愿意把它们往基础层收:
  • 统一请求封装
  • 统一错误提示策略
  • 统一埋点和日志入口
  • 统一异常上报规范
这样团队里谁来写页面,最低限度的稳定性都比较容易守住。

结语

前端工程实践真正难的部分,不是把正常流程写通,而是让异常流程也可控、可查、可维护。接口边界清晰一点,错误处理多想一步,日志留得完整一点,很多线上问题都会少得多,真出问题时也没那么慌。

信息

文章信息

很多前端项目后期难维护,并不是因为组件不够优雅,而是接口返回太散、异常分支没人接、问题出了也查不到。本文结合列表页、表单提交、权限接口和线上排障这些场景,聊聊我为什么现在越来越重视接口边界、错误处理和日志。

最后更新于 2026-05-12阅读时长 4 分钟
工具实践