@xvis/vite-plugin-update-popup
v1.0.0
Published
Vite plugin: emit a build version file and notify the running page to refresh
Maintainers
Readme
@xvis/vite-plugin-update-popup
Vite 插件:构建时写出版本文件,已打开的页面轮询到新版本后提示刷新。
弹窗 UI 不内置,由应用通过 callback 自定义(例如 Element Plus Notification)。
安装
npm install @xvis/vite-plugin-update-popup使用
1. 注册插件(vite.config.js)
import { defineConfig } from 'vite'
import { updatePopupPlugin } from '@xvis/vite-plugin-update-popup'
export default defineConfig({
plugins: [updatePopupPlugin()],
})2. 应用入口调用运行时
import updatePopup from '@xvis/vite-plugin-update-popup/client'
updatePopup(() => {
// 自定义 UI:提示用户刷新
window.location.reload()
})未传 callback 时,使用浏览器 confirm 后刷新。
开发模式(import.meta.env.MODE !== 'production')下运行时直接返回,不轮询。
配置项
| 选项 | 默认值 | 说明 |
|------|--------|------|
| versionFileName | update_popup_version.txt | 写入 outDir 的版本文件名 |
updatePopupPlugin({
versionFileName: 'update_popup_version.txt',
})工作方式
- 每次构建生成时间戳版本号,通过 virtual 模块注入运行时
generateBundle将版本号写成静态文件(默认update_popup_version.txt)- 已打开页面定时 / 切回前台时拉取该文件,分段比较版本号,发现更新则回调
