打包时,自动更新版本号,清空缓存

1.创建 addVersion.js 文件
在这里插入图片描述

let fs = require('fs');function getPackageJson(){return JSON.parse(fs.readFileSync('./package.json'));
}
try{let packageJson = getPackageJson();//把分割的数组项转成数字,不然拼接就是字符串拼接let arr = packageJson.version.split('.').map(item=>Number(item))if(arr[2]<9){arr[2] = arr[2]+1}else if(arr[1]<9){arr[1] = arr[1]+1arr[2] = 0}else{arr[0] = arr[0]+1arr[1] = 0arr[2] = 0}const newVersion = arr.join('.')packageJson.version = newVersionfs.writeFileSync('./package.json', JSON.stringify(packageJson, null, '\t'));
}catch{console.log('package.json失败')process.exit(1)
}

2.修改package.json 文件
在这里插入图片描述

serve 执行为测试用的,看版本是否生效
打包更新版本号,只需配置 build 相关指令即可

  1. main.js 文件中添加 清除缓存功能
const version = require('../package.json').version
const versionStorage = localStorage.getItem('version')
if (version != versionStorage) {localStorage.clear()localStorage.setItem('version', version)// console.customLog('版本不一致,清除缓存中')//location.reload() 方法用来刷新当前页面。该方法只有一个参数,当值为 true 时,将强制浏览器从服务器加载页面资源,//当值为 false 或者未传参时,浏览器则可能从缓存中读取页面。setTimeout(() => {window.location.reload(true)}, 500)
}

ok 完成以上执行 查看 package.json 中是否改变 ,结束

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

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

相关文章

reactNative0.71版本的使用

开发环境配置 参考reactNative 官网 版本选中0.71 打包配置 1. IOS 打开项目 -> 进入ios目录->执行命令 pod install ->项目名称.xcworkspace -> 使用xcode打开->配置证书 证书配置截图如下 &#x1f4a1;tips&#xff1a;TARGETS目录下会有多个文件&#x…

试试这个开源神器 55K star! 开箱即用

还记得以前工作上遇到困难&#xff0c;会申请开发大神远程帮忙&#xff0c;那时候用的都是TeamViewer&#xff0c;但是随着TeamViewer的收费&#xff0c;这些都已成为过往。 今天我们推荐的开源项目就是让你可以轻松平替TeamViewer&#xff0c;一款远程桌面神器&#xff0c;本…

创新工具:2024年开发者必备的一款表格控件

前言 在现代工作环境中&#xff0c;信息的处理和管理是至关重要的。表格是一种常见的数据呈现和整理工具&#xff0c;被广泛应用于各行各业。然而&#xff0c;随着技术的不断发展&#xff0c;市场对表格控件的需求也越来越高。随着工作效率的重要性日益凸显&#xff0c;一款高…

1.10 Unity中的数据存储 JSON

一、介绍 Json是最常用也是目前用的比较多的一种&#xff0c;超轻量级&#xff0c;可便捷性使用&#xff0c;平时用到比较多的都是解析Json和往Json中添加数据、修改数据等等JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式&#xff0c;它基于ECMAScr…

P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布————C++

目录 [NOIP2014 提高组] 生活大爆炸版石头剪刀布题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示 解题思路Code调用函数的Code&#xff08;看起来简洁一点&#xff09;运行结果 [NOIP2014 提高组] 生活大爆炸版石头剪刀布 …

Java进阶 1-3 枚举(switch的新特性)

目录 新特性&#xff1a;switch的箭头语法 新特性&#xff1a;switch中的case null 新特性&#xff1a;将switch作为表达式使用 在枚举中的实际应用 新特性&#xff1a;模式匹配 智能转型 模式匹配 违反里式替换原则 守卫 支配 sealed的使用 本笔记参考自&#xff1…

强化学习求解TSP(五):Qlearning求解旅行商问题TSP(提供Python代码)

一、Qlearning简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于奖励的决策问题。它是一种无模型的学习方法&#xff0c;通过与环境的交互来学习最优策略。Q-learning的核心思想是通过学习一个Q值函数来指导决策&#xff0c;该函数表示在给定状态下采取某个动作所获…

element表格数据,表头上(下)角标,html字符串渲染

1. 问题描述 在动态渲染的element表格中&#xff0c;表头和表中数据是一个含有html的字符串&#xff0c;需要渲染 2. 效果 3. 代码 const columns ref([{ text: 差值<sub>-3</sub> / 10<sup>-6</sup>℃<sup>-1</sup>, value: aallowEr…

简易实现 MyBatis 底层机制

MyBatis 大家好呀&#xff01;我是小笙&#xff0c;我中间有1年没有更新文章了&#xff0c;主要忙于毕业和就业相关事情&#xff0c;接下来&#xff0c;我会恢复更新&#xff01;我们一起努力吧&#xff01; 概述 MyBatis 是一个持久层的框架&#xff08;前身是 ibatis&#x…

5G阅信短信群发助力汽车行业营销拓客!

5G阅信短信群发在汽车行业营销中具有重要作用&#xff0c;可以帮助汽车企业快速触达目标客户群体&#xff0c;提高品牌知名度和销售业绩。以下是一些应用5G阅信短信群发助力汽车行业营销拓客的策略&#xff1a; 1.精准定位目标客户&#xff1a;通过分析客户 数据和行为&#xf…

计算机体系结构----计分板(scoreboard)算法

计分板算法简介 计分板记录着所有必要的信息&#xff0c;用来控制以下事情&#xff1a; 每条指令何时可以读取操作数并投入运行&#xff08;对应着RAW冲突的检测&#xff09;每条指令何时可以写入结果&#xff08;对应着WAR冲突的检测&#xff09;在计分板中&#xff0c;WAW冲…

Redis性能大挑战:深入剖析缓存抖动现象及有效应对的战术指南

在实际应用中&#xff0c;你是否遇到过这样的情况&#xff0c;本来Redis运行的好好的&#xff0c;响应也挺正常&#xff0c;但突然就变慢了&#xff0c;响应时间增加了&#xff0c;这不仅会影响用户体验&#xff0c;还会牵连其他系统。 那如何排查Redis变慢的情况呢&#xff1f…