1、新建/public/static/version.json文件
{
"version": "2.4.42"
}
2、使用nodejs编写获取json版本信息的脚本/addVersion.js
import fs from 'fs/promises'
const packageJsonPath = '.app/public/static/version.json'
const packageJson = JSON.parse(await fs.readFile(packageJsonPath))
const versionParts = packageJson.version.split('.')
const majorVersion = parseInt(versionParts[0])
const minorVersion = parseInt(versionParts[1])
const patchVersion = parseInt(versionParts[2])
const newPatchVersion = patchVersion + 1
const newVersion = `${majorVersion}.${minorVersion}.${newPatchVersion}`
fs.writeFile(
packageJsonPath,
JSON.stringify(
{
version: newVersion,
},
null,
'\t',
),
() => {},
)
3、package.json中配置
"scripts": {
"dev": "node .app/addVersion.js && nuxi dev --open",
"generate": "node .app/addVersion.js && nuxi generate"
},
4、在入口文件使用 如APP.vue
onMounted(async () => {
try {
let url = `//${window.location.host}/static/version.json`
const res: { version: string } = await $fetch(url, { method: 'GET' })
if (res.version && auth.version !== res.version) {
location.reload()
}
auth.changeVersion(res.version)
} catch (error) {}
})