0


vue项目打包自动更新版本号且自动刷新缓存

在项目根目录创建一个 version.js 文件!在这里插入图片描述

  1. const fs =require('fs');const path ='./package.json';functiongetPackageJson(){returnJSON.parse(fs.readFileSync(path));}try{let packageJson =getPackageJson();let version = packageJson.version;// 去除前缀 vif(version.startsWith('v')){
  2. version = version.slice(1);}let arr = version.split('.').map(item=>{let num =Number(item);if(isNaN(num)){thrownewError(`Invalid version number part: ${item}`);}return num;});if(arr[2]<9){
  3. arr[2]+=1;}elseif(arr[1]<9){
  4. arr[1]+=1;
  5. arr[2]=0;}else{
  6. arr[0]+=1;
  7. arr[1]=0;
  8. arr[2]=0;}const newVersion ='v'+ arr.join('.');
  9. packageJson.version = newVersion;
  10. fs.writeFileSync(path,JSON.stringify(packageJson,null,2));
  11. console.log(`Version updated to ${newVersion}`);}catch(error){
  12. console.error('Failed to update package.json:', error);
  13. process.exit(1);}

在项目package.json配置基础版本号

在这里插入图片描述

继续在package.json文件的打包命令里添加执行version代码

可以先到运行serve里面添加执行version代码查看package.json里的版本号是否生效

在这里插入图片描述

main.js里面添加清除缓存,刷新代码;简单粗暴

  1. const version =require('../package.json').version
  2. const versionStorage = localStorage.getItem('version')if(version != versionStorage){
  3. localStorage.clear()
  4. localStorage.setItem('version', version)setTimeout(()=>{
  5. window.location.reload(true)},500)}

本文转载自: https://blog.csdn.net/fanganqing/article/details/140271400
版权归原作者 Faaaaaaq 所有, 如有侵权,请联系我们删除。

“vue项目打包自动更新版本号且自动刷新缓存”的评论:

还没有评论