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

网站建设 cn网站模板首页

网站建设 cn,网站模板首页,百度集团,如何做公司网络推广实现该功能一共有三步。废话不多说,直接上代码!!! 第一步:打包时自动生成版本信息的js文件,versionUpdate.js import fs from fs; import path from path; import { ElMessageBox } from element-plus; i…

实现该功能一共有三步。废话不多说,直接上代码!!!

第一步:打包时自动生成版本信息的js文件,versionUpdate.js

import fs from 'fs';
import path from 'path';
import { ElMessageBox } from 'element-plus';
import axios from 'axios';const SYSTEM_VERSION_KEY = 'version';/*** 生成版本信息文件* @param isCreateVersionFile - 是否创建版本信息文件,默认为false*/
export default function (options) {const { isCreateVersionFile = false } = options;if (!isCreateVersionFile) return false;// 生成版本信息文件内容const versionJson = {// 使用编译时间作为版本号: 时间格式 + 时间戳[SYSTEM_VERSION_KEY]: `${new Date().toLocaleString()} - ${new Date().getTime()}`,};let config = {publicDir: '',};return {name: 'version-update',configResolved(resolvedConfig) {// 获取最终解析的配置config = resolvedConfig;},buildStart() {// 生成版本信息文件路径const file = config.publicDir + path.sep + 'version.json';const content = JSON.stringify(versionJson);// 写入文件function writeVersion(versionFileName, content) {fs.writeFile(versionFileName, content, err => {if (err) throw err;});}if (fs.existsSync(config.publicDir)) {writeVersion(file, content);} else {fs.mkdir(config.publicDir, err => {if (err) throw err;writeVersion(file, content);});}},};
}/*** 版本检查* @return {Promise<boolean>}  返回false表示需要不更新版本*/
export const versionCheck = async (isCheck = true) => {try {if (!isCheck) return false;const { hostname, origin } = window.location;// 如果是本地开发环境,则不进行版本检查if (['localhost', '127.0.0.1'].includes(hostname)) return false;// 实时获取在线版本信息const res = await axios.get(`${origin}/version.json?t=${new Date().getTime()}`);if (res?.status !== 200) return false;// 获取版本信息文件const { version } = res?.data;// 获取本地版本号const localVersion = localStorage.getItem(SYSTEM_VERSION_KEY);// 判断本地版本号与当前版本号如果一致,则不提示更新if (localVersion === version) return false;ElMessageBox.confirm(`检测到新版本,是否现在更新?`, '版本更新提示', {confirmButtonText: '更新',type: 'warning',showCancelButton: false,draggable: true,closeOnClickModal: false,closeOnPressEscape: false,}).then(() => {// 把最新版本号存储在本地localStorage.setItem(SYSTEM_VERSION_KEY, version);window.location.reload();});} catch (error) {console.error('versionCheck--error--', error);}
};

第二步: 把该versionUpdate.js文件配置到vite的plugins中

import { defineConfig } from 'vite';
import viteCompression from 'vite-plugin-compression';
import { visualizer } from 'rollup-plugin-visualizer';
import ViteRestart from 'vite-plugin-restart';
import versionUpdate from './src/utils/versionUpdate';export default ({ mode, command }) => {return defineConfig({plugins: [// 版本更新versionUpdate({isCreateVersionFile: command === 'build',}),// 文件压缩viteCompression({verbose: true, // 是否在控制台中输出压缩结果disable: false,threshold: 10240,algorithm: 'gzip',ext: '.gz',}),visualizer({ open: true }),ViteRestart({restart: ['vite.config.js', 'package.json'],}),],esbuild: {drop: ['debugger'],},});
};

第三步: 将版本检查配置在router.beforeEach中或者你需要的地方

import { versionCheck } from '@/utils/versionUpdate';router.beforeEach(async (to, from, next) => {// 检查版本await versionCheck();...})

http://www.yayakq.cn/news/613876/

相关文章:

  • 网站做支付要多少钱html简单网页代码课程表
  • 网站开发项目实训总结wordpress pdf 显示
  • 建设部网站官网考试如何进行一个网站建设
  • 鲜花销售网站模板报电子商务( 网站建设与运营)
  • 网站建设明薇通网络不错做网站应怎么缴税
  • 徐汇品牌网站建设网站设计模板下载
  • 江门网站wordpress 交友模板
  • 从什么网站可以做兼职做一个网站首页多少钱
  • 西安网站制作公司花禾科技商企在线营销型网站
  • 圣辉友联做网站公司新媒体一键发布平台
  • 大连开发区网站设计公司构建 物流网
  • dede学校网站免费源码如何制作app应用
  • 提供微信网站建设app推广策划书模板
  • 30天网站建设实录下载云南建设工程质量监督网站
  • 郯城做网站十大营销咨询公司
  • 电商网站的模式手机软件app开发
  • 有没有哪个网站免费做简历的建设项目环保备案网站
  • 西部数码怎么上传网站关于网站建设的建议的征集
  • 谷歌网站怎么设置才能打开网站哪些网上订餐的网站做的好
  • 企业门户网站服务器wordpress主题开发ide
  • 学校网站建设汇报ppt模板东莞著名网站建设企业
  • 网站开发实现页面的跳转湖南关键词优化排名推广
  • 杭州网站建设代理商检测站点是否使用wordpress
  • 佛山专业做网站公司做效果图的方便的网站
  • 网站页面设计报价网站开发实习
  • 中国建设招标网站中标公告做网站的核验单 是下载的吗
  • 服装网站建设案例分析详细网络设计方案
  • 望城门户网站wordpress cat
  • 哪有培训网站开发个人做网站被骗
  • ps模板素材网站南京网站设计哪家公司好