vue项目新增版本号配置,打包后自动生成版本号【版本号写入成功 202307.13.7(年月日+打包次数)】,判断当前是否为最新版本,如果不是清空缓存重新获取!下面编程教程网小编给大家简单介绍一下具体实现步骤!
1、在根目录下新增buildVersion.js文件,写入以下代码:
let fs = require('fs')
//拿package的json数据
const getPackageJson = () => {
let data = fs.readFileSync('./package.json') //fs读取文件
return JSON.parse(data) //转换为json对象
}
let packageData = getPackageJson()
const getCurrentDate = () => {
let time = new Date()
let a = time.toLocaleDateString()
let x = a.split('-') //根据时间类型进行判断切割
if (x[1].length < 2) {
x[1] = '0' + x[1]
}
if (x[2].length < 2) { x[2] = '0' + x[2] } return x.join('') } const changeVersion = () => {
if (getCurrentDate().substring(0, 6) === String(packageData.version.split('.')[0])) {
let x = Number(packageData.version.split('.')[2])
x = x + 1
let d = getCurrentDate().substring(0, 6) + '.' + getCurrentDate().substring(6);
packageData.version = `${d}.${x}`
} else {
let d = getCurrentDate().substring(0, 6) + '.' + getCurrentDate().substring(6);
packageData.version = `${d}.1`
}
}
changeVersion()
fs.writeFile(
'./package.json',
JSON.stringify(packageData, null, '\t'),
(err) => {
if (err) {
console.log('写入失败', err)
} else {
console.log('版本号写入成功', packageData.version)
}
}
)
2、在根目录下新增version.js文件,写入以下代码:
import packageVersion from './package.json'
const version = packageVersion.version;
export default { version }
3、在package.json文件中修改打包字段,代码如下:
"scripts": {
...
"build": "node ./buildVersion.js && node build/build.js"
},
4、在App.vue中引入最新版本号进行判断是否清除缓存,代码如下:
import _v from '../version.js'
created() {
this.checkForUpdate()
},
methods: {
checkForUpdate() {
let currentVersion = _v.version; //获取最新版本号
if(currentVersion !== localStorage.getItem("version")){
//版本号不是最新执行以下代码
window.sessionStorage.clear();
window.localStorage.clear();
window.location.reload(true);
localStorage.setItem("version", currentVersion);
}
}
}
以上是编程学习网小编为您介绍的“vue项目打包后自动生成版本号,判断是否清空缓存(亲测有效)”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。
织梦狗教程
本文标题为:vue项目打包后自动生成版本号,判断是否清空缓存(亲测有效)


基础教程推荐
猜你喜欢
- 获取元素位置的position()与offset()方法区别介绍 2024-03-10
- css 垂直居中的几种实现方法 2023-12-12
- 图片溢出div问题的快速解决方法推荐 2024-01-24
- CSS实例:创建一个鼠标感应换图片的按钮 2023-12-29
- 浮动层自动适应高度的解决方法 2023-12-27
- jsMind通过鼠标拖拽的方式调整节点位置 2023-11-30
- javascript圆盘抽奖程序实现原理和完整代码例子 2023-12-21
- 国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程 2023-12-19
- CSS圆形缩放动画简单实现 2024-02-08
- mac笔记本电脑删除文件后如何自动排列(快捷键介绍) 2024-12-13