最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3提示用戶版本更新方式

 更新時間:2024年12月26日 14:56:00   作者:張小偉i  
本文介紹了如何在項目中創(chuàng)建和使用自定義插件,以在構(gòu)建過程中檢查版本號,具體步驟包括在項目根目錄下創(chuàng)建buildLifeHook.ts文件,并在public目錄下創(chuàng)建version文件夾,然后在vite.config.ts中引用該插件,并在src/utils目錄下創(chuàng)建XxzUtils.ts文件

vue3提示用戶版本更新

1.項目根目錄下創(chuàng)建myPlugins/buildLifeHook.ts

在public下創(chuàng)建version文件夾

  • buildLifeHook.ts代碼
import fs from 'fs';
import path from 'path';

// 在Vite配置中添加一個插件,監(jiān)聽build事件
export function buildLifeHook() {
  return {
    name: 'build-life-hook',
    buildStart(){
      let now = new Date().toLocaleString().replace(/\//g,'-')
      let version = {
        version:now,
      }
      let versionPath = path.join(__dirname,'../public/version/versionData.json');
      fs.writeFile(versionPath,JSON.stringify(version),'utf8',(err)=>{
        if(err){
          console.log('寫入文件失敗',err);
        }else{
          console.log('寫入文件成功');
        }
      })
      // console.log('構(gòu)建開始!' + now);
    },
    buildEnd() {
      let now = new Date().toLocaleString().replace(/\//g,'-')
      // console.log('構(gòu)建完成!' + now);
    },
  };
}

2.在vite.config.ts中引用插件

3.在src/utils下創(chuàng)建XxzUtils.ts

  • XxzUtils.ts中代碼
/**
 * 版本更新
 */
/**
 * @description 檢測版本更新
 * @param allowIgnore 是否允許忽略
 * @param timer 傳入定時器
 * @returns
 */
export async function checkUpdate(allowIgnore: boolean, timer?: any) {
  //動態(tài)獲取線上的資源地址,其實(shí)就是vite.config.ts的base的值
  try {
    // 檢測前端資源是否有更新
    let response = await fetch(`/version/versionData.json`, {
      headers: {
        'Cache-Control': 'no-cache'
      }
    }).then(res => res.json())
    if (!localStorage.getItem('JHS_version')) {
      localStorage.setItem('JHS_version', response.version)
    } else {
      if (localStorage.getItem('JHS_version') !== response.version) {
        if (versionUpdateTimer != null) {
          clearInterval(versionUpdateTimer)
        }
        ElMessageBox.confirm(
          '是否刷新頁面重新加載最新版?',
          '檢測到新版本',
          {
            confirmButtonText: '好的',
            cancelButtonText: '不了',
            type: 'warning',
            showClose: false,
            closeOnClickModal: false
          }
        )
          .then(() => {
            localStorage.setItem('JHS_version', response.version)
            window.location.reload()
          })
      }
    }
  } catch (e) {
    return Promise.reject(e)
  }
}

/**
 * @description 初始化版本檢測器
 */
let versionUpdateTimer = null

export function initVersionCheck() {
  versionUpdateTimer = setInterval(() => {
    checkUpdate(true, versionUpdateTimer).then(r => null)
  }, 60000)
}

4.在App.vue文件下調(diào)用initVersionCheck()方法

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 全面剖析Vue3 全新特性 defineModel

    全面剖析Vue3 全新特性 defineModel

    defineModel是Vue3.4引入的一個編譯器宏,用于簡化組件雙向數(shù)據(jù)綁定的實(shí)現(xiàn),它是對v-model指令在組件上使用的語法糖,本文給大家介紹Vue3全新特性defineModel的相關(guān)知識,感興趣的朋友一起看看吧
    2025-08-08
  • vue中使用heatmapjs的示例代碼(結(jié)合百度地圖)

    vue中使用heatmapjs的示例代碼(結(jié)合百度地圖)

    這篇文章主要介紹了vue中使用heatmapjs的示例代碼(結(jié)合百度地圖),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Vue.js使用computed屬性實(shí)現(xiàn)數(shù)據(jù)自動更新

    Vue.js使用computed屬性實(shí)現(xiàn)數(shù)據(jù)自動更新

    在Vue組件中,computed屬性是在組件的選項對象中聲明的,你可以把它們想象成組件的一個小功能,告訴Vue當(dāng)某些數(shù)據(jù)變化時,如何更新界面,本文給大家介紹了Vue.js使用computed屬性實(shí)現(xiàn)數(shù)據(jù)自動更新,需要的朋友可以參考下
    2024-06-06
  • 在Flask項目中集成并訪問Vue前端項目的流程步驟

    在Flask項目中集成并訪問Vue前端項目的流程步驟

    在現(xiàn)代?Web?開發(fā)中,前后端分離的架構(gòu)模式越來越流行,前端通常使用?Vue、React?等框架開發(fā),而后端則使用?Flask、Django?等框架提供?API?服務(wù),本文將詳細(xì)介紹如何在一個?Flask?項目中集成?Vue?前端項目,并確保能夠正確訪問和運(yùn)行,需要的朋友可以參考下
    2025-03-03
  • Vue 動態(tài)添加表單實(shí)現(xiàn)動態(tài)雙向綁定

    Vue 動態(tài)添加表單實(shí)現(xiàn)動態(tài)雙向綁定

    動態(tài)表單是一個常見的需求,本文詳細(xì)介紹了Vue.js中實(shí)現(xiàn)動態(tài)表單的創(chuàng)建,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • vue element ui validate 主動觸發(fā)錯誤提示操作

    vue element ui validate 主動觸發(fā)錯誤提示操作

    這篇文章主要介紹了vue element ui validate 主動觸發(fā)錯誤提示操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 在Vue中使用mockjs代碼實(shí)例

    在Vue中使用mockjs代碼實(shí)例

    這篇文章主要介紹了在Vue中使用mockjs代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Vue.directive 自定義指令的問題小結(jié)

    Vue.directive 自定義指令的問題小結(jié)

    這篇文章主要介紹了Vue.directive 自定義指令的問題小結(jié),需要的朋友可以參考下
    2018-03-03
  • 跟混亂的頁面彈窗說再見

    跟混亂的頁面彈窗說再見

    這篇文章主要介紹了跟混亂的頁面彈窗說再見,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 簡述vue中的config配置

    簡述vue中的config配置

    這篇文章主要介紹了vue中的config配置 ,本文給大家介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論

临泽县| 新营市| 万宁市| 灵山县| 库尔勒市| 康平县| 盱眙县| 界首市| 凤阳县| 左云县| 吐鲁番市| 南宫市| 华坪县| 邵阳市| 铁力市| 山阴县| 香港 | 泽普县| 曲松县| 普宁市| 修水县| 阳春市| 金湖县| 大姚县| 鞍山市| 龙门县| 长子县| 成都市| 广宗县| 西林县| 泰州市| 定日县| 遵化市| 盐城市| 福鼎市| 香格里拉县| 和平县| 新龙县| 山丹县| 嘉义市| 合阳县|