当前位置: 首页 > news >正文

前端版本更新,错误监控,解决方案 error / unhandledrejection,同步异步错误监控方案

有一个 web 项目,使用了 vite + vue 的框架,最近把一些组件改成了异步加载,使用 defineAsyncComponent 引用。

先不说性能有没有提升,但是导致了一个问题,就是每次发布新版本后,静态资源 js 的哈希值变化了,在已经打开的网页上就无法加载旧的 js 文件了。

所以我们需要一个机制,监听了有版本变化,然后提示用户刷新页面再继续使用。

解决方案

使用 window.addEventListener('error', fn) 监听同步的错误

使用 window.addEventListener('unhandledrejection', fn) 监听异步的错误

在监听之后我们还要细化一下,是否是因为发版导致的错误,对于异步监听可以使用  e?.reason?.message 判断,比如判断 message 是否包含  Failed to fetch dynamically imported module 字样,如果是,就使用 alert 给用户一个提示。

使用 alert 是因为这是个不需要加载任何资源的浏览器的原生方法,如果你要搞一个漂亮的弹框,这个弹框的资源也得加载,可以但是没必要

但是这种方案其实对于同步的错误,不太好区分是因为发版本导致的还是其他的普通的业务的报错,所以我们可以优化一下这个方案。

就是在每次发版的时候需要更新一下服务端资源的版本号,比如在 public 目录下新建一个 json 文件存放版本号,或者使用 package.json 里面的 version,需要注意的是,每次发布新版本都要更新这个版本号

在页面加载的时候,把当前页面的版本号同步的加载并记录下来,在 main.ts 中如果监控到任何的error,我们对比一下当前版本号和服务端的版本号是否一致,如果不一致,提示用户刷新页面。

http://www.dtcms.com/a/426705.html

相关文章:

  • 2023 美赛C Predicting Wordle Results(上)
  • 微退休(Micro-retirement)介绍
  • LeetCode热题100(1-7)
  • 想让图片可以在Word和WPS文档中自由移动?修改文字环绕
  • 连云港网站设计北京seo优化分析
  • PostgreSQL WAL 日志发展史 - pg9
  • 企业自有网站全国加盟网站大全
  • 做金融网站看那些素材怎样联系自己建设网站
  • Java的任务调度框架之 Quartz 以及 CronTrigger,CronScheduleBuilder 和 Cron表达式 笔记250930
  • 联想乐享重构智能搜索生态:ThinkPad T14p 2025升级信息首触“企业智能双胞胎”
  • 明远智睿 SSD2351 核心板:64 位四核含税不足 50 元,批量采购新选择
  • Flutter 自定义 View 权威指引
  • AWS | Linux 硬盘挂载综合教程
  • ntdll.pdb 包含查找模块 ntdll.dll 的源文件所需的调试信息
  • 精读C++20设计模式——行为型设计模式:策略模式
  • Spark专题-第三部分:性能监控与实战优化(1)-认识spark ui
  • 汕头网站设计哪家好鞍山制作网站哪家好
  • 电子商务网站建设试卷软件设计师好考吗
  • 【计算机视觉】形态学的去噪
  • 精读C++20设计模式——行为型设计模式:命令模式
  • petalinux 安装Openblass库
  • 织梦播放器网站网站建设简历自我评价
  • 大数据毕业设计选题推荐-基于大数据的全球经济指标数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
  • Spring Boot 整合 Redisson 实现分布式锁:实战指南
  • 国鑫发布新一代「海擎」服务器 全面兼容国内外主流OAM GPU
  • 百度电商MultiAgent视频生成系统
  • FRP v0.65.0 内网穿透专业指南(SSH + HTTP/HTTPS 一体化配置)
  • UNIX下C语言编程与实践20-UNIX 文件类型判断:stat 结构 st_mode 与文件类型宏的使用实战
  • 电脑网站开发手机上可以打开吗网站建设如何把代码
  • ROS2下利用遥控手柄控制瑞尔曼RM65-B机器人