





















前言 最近在做一个基于 Plasmo 的浏览器扩展项目,技术栈主要是: Plasmo TypeScript React Chrome MV3 Sentry 在这个过程中,我发现浏览器扩展的异常处理,和普通前端页面其实不太一样。 在普通 Web 项目里,错误大多发生在一个页面上下文中;但在浏览器扩展里,代码通常会分散运行在多个上下文中,比如: popup:扩展弹窗页面 content script:注入目标网站的脚本 background:后台 service worker 这就带来了几个典型问题: 错误来源分散,不容易统一管理 用户看到的报错和开发者需要的错误信息往往不是一回事 接入 Sentry 后,如果不做控制,很容易把邮箱、token、URL 参数等敏感信息也带上去 不同上下文的异常如果没有标签,线上排查效率会很低 所以我在项目里做了一套比较轻量、但很适合 Plasmo 浏览器扩展的异常处理方案,核心思路是: 用 AppError 统一业务错误模型 用 ErrorReporter 统一错误处理出口 用 Sentry 做线上异常监控 用脱敏逻辑保证上报安全 ...
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。