在项目根目录创建一个 version.js 文件!

const fs = require('fs');
const path = './package.json';
function getpackagejson() {
return json.parse(fs.readfilesync(path));
}
try {
let packagejson = getpackagejson();
let version = packagejson.version;
// 去除前缀 v
if (version.startswith('v')) {
version = version.slice(1);
}
let arr = version.split('.').map(item => {
let num = number(item);
if (isnan(num)) {
throw new error(`invalid version number part: ${item}`);
}
return num;
});
if (arr[2] < 9) {
arr[2] += 1;
} else if (arr[1] < 9) {
arr[1] += 1;
arr[2] = 0;
} else {
arr[0] += 1;
arr[1] = 0;
arr[2] = 0;
}
const newversion = 'v' + arr.join('.');
packagejson.version = newversion;
fs.writefilesync(path, json.stringify(packagejson, null, 2));
console.log(`version updated to ${newversion}`);
} catch (error) {
console.error('failed to update package.json:', error);
process.exit(1);
}
在项目package.json配置基础版本号

继续在package.json文件的打包命令里添加执行version代码
可以先到运行serve里面添加执行version代码查看package.json里的版本号是否生效

main.js里面添加清除缓存,刷新代码;简单粗暴
const version = require('../package.json').version
const versionstorage = localstorage.getitem('version')
if (version != versionstorage) {
localstorage.clear()
localstorage.setitem('version', version)
settimeout(() => {
window.location.reload(true)
}, 500)
}总结
到此这篇关于vue项目打包自动更新版本号且自动刷新缓存的文章就介绍到这了,更多相关vue项目打包自动更新版本号内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论