当前位置: 首页 > news >正文

网站建设毕业设计心得深圳网络营销怎么推广

网站建设毕业设计心得,深圳网络营销怎么推广,wordpress发布文章404,沈阳网站建设求职简历ViteVue3实现版本更新检查,实现页面自动刷新1、使用Vite插件打包自动生成版本信息2、Vite.config.ts配置3、配置环境变量4、路由配置现有一个需求就是实现管理系统的版本发版,网页实现自动刷新页面获取最新版本 搜索了一下,轮询的方案有点浪费…

Vite+Vue3实现版本更新检查,实现页面自动刷新

      • 1、使用Vite插件打包自动生成版本信息
      • 2、Vite.config.ts配置
      • 3、配置环境变量
      • 4、路由配置

现有一个需求就是实现管理系统的版本发版,网页实现自动刷新页面获取最新版本
搜索了一下,轮询的方案有点浪费资源,不太适合我的

现在使用了路由跳转的方式去实现 这里有个大佬

就是在每次打包的时候生成一个version.json版本信息文件,在页面跳转的时候请求服务端的version.json的版本号和浏览器本地的版本号对比,进行监控版本的迭代更新,并对页面进行更新

1、使用Vite插件打包自动生成版本信息

Vite插件即是Vite虚拟模块, Vite 沿用 Rollup 的虚拟模块官网有解释(第一次了解到Vite虚拟模块)

这里的文件位置为  /src/utils/versionUpdatePlugin.ts
//简易Ts版
// versionUpdatePlugin.js
import fs from 'fs';
import path from 'path';
interface OptionVersion {version: number | string;
}
interface configObj extends Object {publicDir: string;
}const writeVersion = (versionFileName: string, content: string | NodeJS.ArrayBufferView) => {// 写入文件fs.writeFile(versionFileName, content, (err) => {if (err) throw err;});
};export default (options: OptionVersion) => {let config: configObj = { publicDir: '' };return {name: 'version-update',configResolved(resolvedConfig: configObj) {// 存储最终解析的配置config = resolvedConfig;},buildStart() {// 生成版本信息文件路径const file = config.publicDir + path.sep + 'version.json';// 这里使用编译时间作为版本信息const content = JSON.stringify({ version: options.version });if (fs.existsSync(config.publicDir)) {writeVersion(file, content);} else {fs.mkdir(config.publicDir, (err) => {if (err) throw err;writeVersion(file, content);});}},};
};

2、Vite.config.ts配置

define全局变量配置,不懂可以看看这个

import versionUpdatePlugin from './src/utils/versionUpdatePlugin'; //Rollup 的虚拟模块// 打包时获取版本信息
const CurrentTimeVersion = new Date().getTime();
const viteConfig =  defineConfig((config) => {const now = new Date().getTime()return {...define: {// 定义全局变量'process.env.VITE__APP_VERSION__': CurrentTimeVersion,},plugins: [...versionUpdatePlugin({version: CurrentTimeVersion,}),],...}})

3、配置环境变量

环境变量分开了,没有直接放在 .env中

在这里插入图片描述

//development 和 production
# 版本
VITE__APP_VERSION__ = ''

4、路由配置

路由跳转是自动检测版本,有新版本则自动更新页面

// 版本监控
const versionCheck = async () => {
//import.meta.env.MODE 获取的是开发还是生产版本的if (import.meta.env.MODE === 'development') return;const response = await axios.get('version.json');// eslint-disable-next-line no-undef//process.env.VITE__APP_VERSION__  获取环境变量设置的值,判断是否与生成的版本信息一致if (process.env.VITE__APP_VERSION__ !== response.data.version) {// eslint-disable-next-line no-undefElMessage({message: '发现新内容,自动更新中...',type: 'success',showClose: true,duration: 1500,onClose: () => {window.location.reload();},});}
};
// 这里在路由全局前置守卫中检查版本
router.beforeEach(async () => {await versionCheck()
})

继续多学习…

http://www.hkea.cn/news/83542/

相关文章:

  • 运城市做网站英文seo外链
  • 江宁网站建设如何建立网上销售平台
  • 淄博企业网站建设有限公司搜索引擎关键词竞价排名
  • 网站的优点企业专业搜索引擎优化
  • 哪里有软件开发培训机构无锡seo培训
  • 网站怎么做反链seo是什么品牌
  • 技术型网站做哪一种好软文范例大全100
  • 百度搜索什么关键词能搜到网站seo高效优化
  • 网站搭建分站需要多少钱互联网营销策划
  • 音乐网站的音乐怎么做seo先上排名后收费
  • 清河做网站报价seo实战培训王乃用
  • wordpress 回收站在哪个文件夹营销方式和手段
  • 垂直型电商网站如何做快速排名软件哪个好
  • 做产品推广有网站比较好的免费自助建站平台
  • 番禺网站建设公司排名百度推广页面投放
  • 沈阳做微网站百度收录刷排名
  • 网站建设与管理技术发展seo是什么意思如何实现
  • 手机游戏开发制作公司最新seo视频教程
  • 网站优化过度被k长春seo排名公司
  • wordpress移除谷歌字体seo网站推广与优化方案
  • 十大景观设计公司排名seo权重查询
  • 水友做的yyf网站十大免费引流平台
  • 东莞公司网站制作百度识图网页版 在线
  • 企业级网站内容管理解决方案网站关键词快速排名服务
  • 影视采集网站怎么做收录关键词是网站seo的核心工作
  • 开发一个网站需要多少时间百度账号免费注册
  • 化妆品网站主页设计长沙关键词优化方法
  • 南阳建网站企业百度推广优化工具
  • 怎样把自己做的网页放在网站里如何做宣传推广营销
  • 七谷网络工作室重庆优化seo