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

news/2024/7/10 1:39:19 标签: vue, 打包更新版本号, 前端

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]+1
    arr[2] = 0
  }else{
    arr[0] = arr[0]+1
    arr[1] = 0
    arr[2] = 0
  }
  const newVersion = arr.join('.')
  packageJson.version = newVersion

  fs.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.niftyadmin.cn/n/5323830.html

相关文章

2.1 常用计算机网络体系结构

2.1 常用计算机网络体系结构 2.1.1 OSI体系结构 1、为了使不同体系结构的计算机网络都能够互联&#xff0c;国际标准化组织于1977年成立了专门机构研究该问题&#xff0c;不久他们就提出了一个试图使各种计算机在世界范围内都能够互连成网的标准框架&#xff0c;也就是著名的…

【Maven】006-Maven 依赖传递和依赖冲突

【Maven】006-Maven 依赖传递和依赖冲突 文章目录 【Maven】006-Maven 依赖传递和依赖冲突一、依赖传递1、概述2、案例&#xff1a;jackson 依赖引入依赖Maven 仓库详情页IDEA 中查看 Maven 依赖关系 二、依赖冲突1、概述2、冲突解决的两种方式 一、依赖传递 1、概述 概念&am…

Compileflow工作流引擎使用讲解

文章目录 1 Compileflow1.1 简介1.2 特点1.3 Compileflow插件下载1.4 main方法调用1.4.1 pom.xml1.4.2 新建bpm文件1.4.3 各个节点绑定方法1.4.4 测试方法 1.5 bpm各个标签说明1.5.1 BPM根节点1.5.2 全局变量1.5.3 开始节点: start1.5.4 结束节点: end1.5.5 自动节点: autoTask…

【操作系统】在阅读论文:OrcFS: Orchestrated file system for flash storage时需要补充的基础知

在阅读论文&#xff1a;OrcFS: Orchestrated file system for flash storage是需要补充的基础知识 这篇论文是为了解决软件层次之间的信息冗余问题 To minimize the disk traffic, the file system buffers the updates and then flushes them to the disk as a single unit, …

未来的失业将是常态吗?

2024年&#xff0c;科技巨头谷歌、亚马逊都在本周宣布大规模裁员&#xff0c;影响到众多部门。此外&#xff0c;社交平台 Discord 表示将裁员 17%&#xff0c;游戏服务商 Unity Software 宣布将裁员 25%&#xff0c;语言学习应用程序 Duolingo 则称解雇了 10% 的正式职工&#…

etcd跨主机通信与Flannel

跨主机通信 Docker 默认的网络环境下 , 单台主机上的 Docker 容器可以通过 docker0 网桥直接通信 , 而不同主机上的 Docker 容器之间只能通过在主机上做端口映射进行通信。 这种端口映射方式对很多集群应用来说极不方便。 如果能让 Docker 容器之间直接使用自己的 IP 地址进…

P1179 [NOIP2010 普及组] 数字统计————C++

目录 [NOIP2010 普及组] 数字统计题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示 解题思路Code1Code2运行结果 [NOIP2010 普及组] 数字统计 题目描述 请统计某个给定范围 [ L , R ] [L, R] [L,R] 的所有整数中&#xff0c;数字…