前端每次发版提示用户

vue前端现在每次发版本想提示用户刷新页面,主要思路如下

  1. public 中创建 JSON 文件,设置版本号为数字 1
// version.json
{ "version": 1 }
  1. 编写 node 脚本,每次发版本,运行脚本将版本号自增 1
// versionHandle.js
const fs = require('fs')
const path = require('path')const configFile = path.resolve(__dirname, './asd.json')
const data = fs.readFileSync(configFile, 'UTF-8') // 读文件const newData = JSON.parse(data)
++newData.versionfs.writeFileSync(configFile, JSON.stringify(newData)) // 写入文件
// package.json"scripts": {"dev": // ...// 每次打包运行脚本"build": "vite build --config ./vite.config.ts && node ./versionHandle.js", },
  1. 创建 js 文件,开启 web worker 线程,使用 fetch 轮询 这个 json 文件,若是版本号不同则弹框提示用户,引导用户刷新
fetch('/version.json').then(response => response.json()).then(res => {console.log(100, res) // 拿到当前版本号,对比本地储存的版本号,若是不一致则弹框
})

注意: worker 中是访问不到 window 、document、和缓存类型 API 的,所以只有 fetch 的轮询操作放在 worker 中,其他操作放在主线程中执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/629926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SQL】SQL语法小结

相关资料 参考链接1:SQL 语法(超级详细) 参考链接2:史上超强最常用SQL语句大全 SQL练习网站:CSDN、牛客、LeetCode、LintCode SQL相关视频: 推荐书籍: 文章目录 数据分析对SQL的要求SQL语法简介…

Android Traceview 定位卡顿问题

Traceview 是一个 Android 性能分析工具,用于时间性能分析,主要帮助开发者了解应用程序中各个方法的执行时间和调用关系。通过图形化界面查看应用程序的代码执行细节,包括每个方法的调用次数、方法调用的时间消耗、方法调用堆栈等信息。我们可…

人工智能扫盲

谷歌的DeepMind在围棋和游戏战胜人类拉开了人工智能的快速发展大幕 ChatGPT后来居上,历史进入史无前例的人工智能发展热潮,各国公司相继加入AI浪潮。 大型语言模型(Large Language Model, LLM) 在机器学习中,对于有…

Java、C#、Python间的Battle

一、编译原理和开发效率 编译速度: C# (约大于等于) JAVA > Python python的编译原理 前提:python 3.6 python不会直接编译源码 而是把源码直接扔给解释器,这种方式 使得python非常灵活,让它的开发效…

交通流量预测HSTGCNT:Hierarchical Spatio–Temporal Graph Convolutional

Hierarchical Spatio–Temporal Graph Convolutional Networks and Transformer Network for Traffic Flow Forecasting 交通流预测的层次时空图卷积网络和Transformer网络 Abstract 图卷积网络(GCN)具有图形化描述道路网络不规则拓扑结构的能力&#…

乳腺癌预测_EDA_Models

文章目录 **前言**数据介绍1.概述2.**关于数据集** 预测过程1.安装包2.加载库3.导入数据4.数据清洗5.EDA重复行缺失值单变量分析正态性检验双变量分析年龄与肿瘤大小(cm)肿瘤大小(cm)与诊断结果肿瘤大小(cm)与转移多元分析 6.预处…

QT软件在线安装与维护

一.安装 安装QT开发环境分离线安装和在线安装两种方式,具体步骤如下: QT官网注册账号----下载安装包-----安装-----选择要安装的版本与开发包----版本维护 注意:Qt5.14.2是最后提供二进制安装包的版本,后面的版本都需要在线安装…

Linux学习记录——사십일 高级IO(2)--- Select型服务器

文章目录 1、思路2、select接口3、实现1、准备工作2、实现等待多个fd3、辨别连接和简单处理读事件4、简单处理写、读事件 4、特点 1、思路 select就是多路转接IO。select能以某种形式,等待多个文件描述符,只要有哪个fd有数据就可以读取并全部返回。就绪…

P9852 [ICPC2021 Nanjing R] Windblume Festival 题解(SPJ)

[ICPC2021 Nanjing R] Windblume Festival 单击此处下载原神 题面翻译 给一个长度为 n n n 环形整数序列 a a a, 每次操作可以任意选择一个下标 x x x,令 $ a_x a_x - a_{(x\bmod n)1}$,之后移除 a ( x m o d n ) 1 a_{(x\bmod n)1} a(xmodn)1​…

.Net Core项目在linux部署实战 1.sdk下载 2.环境变量配置/ect/profile 3.运行

1)下载.net core sdk https://download.visualstudio.microsoft.com/download/pr/01292c7c-a1ec-4957-90fc-3f6a2a1e5edc/025e84c4d9bd4aeb003d4f07b42e9159/dotnet-sdk-6.0.418-linux-x64.tar.gz 2)配置下环境变量 step1: // 解压到指定目录 mkdir -p $HOME/dotnet &…

几种PHP对称加密解密源码

最近搞一点东西要用到对称加密,于是在网上找到一个不错的对称加密方法,分享给大家。 /*** 简单对称加密算法之加密* param String $string 需要加密的字串* param String $skey 加密EKY* return String*/ function encode($string , $skey cxphp) {$s…

从零学Java 线程池

Java 线程池 文章目录 Java 线程池1 线程池概念1.1 现有问题1.2 线程池 2 线程池原理3 如何使用线程池3.1 获取线程池 4 创建线程的第四种方式 1 线程池概念 1.1 现有问题 线程是宝贵的内存资源、单个线程约占1MB空间,过多分配易造成内存溢出。频繁的创建及销毁线…

背包问题(贪心) 二维01背包问题 Java

背包问题(贪心) 最优装载问题 题目描述 有n件物品和一个最大承重为w 的背包。第i件物品的重量是weight[i],每件只能用一次,求装入背包的最多物品数量。 题目分析 因为我们只要求装入物品的数量,所以装重的显然没有…

Angular系列教程之自定义指令

文章目录 前言指令的基本概念在模板中使用指令总结 前言 在Angular中,指令是一种非常强大的工具,用于扩展HTML元素的功能和行为。它们允许我们创建可重用的组件,并在应用程序中的多个地方使用它们。本文将介绍Angular指令的基础知识&#xf…

AI工具(20240116):Copilot Pro,Fitten Code等

Copilot Pro Copilot Pro是微软推出的Copilot的付费增强版本,通过提供优先访问GPT-4等最新AI模型,大大提升用户的创造力和工作效率。该服务可与Microsoft 365订阅捆绑使用,支持在Word、Excel等Office应用内直接使用Copilot功能,帮助用户更快速地起草文档、电子邮件和演示文稿等…

自动驾驶轨迹规划之碰撞检测(二)

欢迎大家关注我的B站: 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 目录 1.基于凸优化 2.具身足迹 3. ESDF 自动驾驶轨迹规划之碰撞检测(一)-CSDN博客 大家可以先阅读之前的博客 1.基于…

文件夹重命名技巧:如何避免过长名称带来的混乱,随机名称不再难

在日常生活和工作中,经常要管理大量的文件夹,有清晰、简洁的文件夹名称能大大提高工作效率。在工作的时候会遇到文件夹名称过长的问题,导致显示不完整、容易混淆,影响文件管理器的性能。下面一起来看云炫文件管理器如何批量重命名…

形成死锁的几个条件

一.什么是死锁? 死锁是由于两个或以上的线程互相持有对方需要的资源,导致这些线程处于等待状态,无法执行。 二.产生死锁的四个必要条件 1.互斥性:线程对资源的占有是排他性的,一个资源只能被一个线程占有,直…

易模真人手办定制:好技术、好服务,共建消费者满意的新一代大众定制平台

随着我国人民精神文化与物质生活的不断升级,定制真人手办摆件的需求变得广泛,易模推出易模真人手办定制服务(小程序),帮助市场合作伙伴能够以全线上、手机端形式为用户制作真人手办,“全线上”的内涵包括手…

鸿蒙应用开发学习:改进小鱼动画实现按键一直按下时控制小鱼移动和限制小鱼移出屏幕

一、前言 近期我在学习鸿蒙应用开发,跟着B站UP主黑马程序员的视频教程做了一个小鱼动画应用,UP主提供的小鱼动画源代码仅仅实现了移动组件的功能,还存在一些问题,如默认进入页面是竖屏而页面适合横屏显示;真机测试发现…