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

VUE項(xiàng)目自動(dòng)檢測服務(wù)端是否發(fā)布了新版本

 更新時(shí)間:2025年01月02日 10:03:00   作者:Asurplus  
本文主要介紹了VUE項(xiàng)目自動(dòng)檢測服務(wù)端是否發(fā)布了新版本,通過輪詢方式檢測Vue項(xiàng)目新版本并提示用戶刷新頁面,具有一定的參考價(jià)值,感興趣的可以了解一下

今天介紹的是通過輪詢的方式去檢測服務(wù)端是否發(fā)布了新版本,從而提醒客戶刷新頁面,提升用戶體驗(yàn)。

1、實(shí)現(xiàn)思路

  • 使用輪詢的方式獲取項(xiàng)目中 index.html 文件。
  • 查詢文件引入的 JS 文件是否有更新( Vue 每次打包后會(huì)生成新的引入文件,如 login.513ef76d.js)。
  • 對比新舊文件,如果有不同,則說明服務(wù)器中的項(xiàng)目文件已經(jīng)更新,需要提示用戶刷新頁面以獲取最新的項(xiàng)目資源。

2、實(shí)現(xiàn)步驟

在 src 目錄下新建一個(gè) auto-update.js 文件,內(nèi)容為:

let lastSrc;

// 匹配 Script 標(biāo)簽中的 src
const scriptReg = /\<script.*src=["'](?<src>[^"']+)/gm;

/**
 * 提取服務(wù)器的 Script 標(biāo)簽中的 src
 */
async function extractNewScripts() {
    const html = await fetch('/?_timestamp=' + Date.now()).then(resp => {
        return resp.text()
    })
    scriptReg.lastIndex = 0
    let result = []
    let match;
    while ((match = scriptReg.exec(html))) {
        result.push(match.groups.src)
    }
    return result
}

/**
 * 判斷是否有新版本
 */
async function hasNewVersion() {
    const newScripts = await extractNewScripts()
    if (!lastSrc) {
        lastSrc = newScripts
        return false
    }
    let result = false
    if (lastSrc.length !== newScripts.length) {
        result = true
    }
    for (let i = 0; i < lastSrc.length; i++) {
        if (lastSrc[i] !== newScripts[i]) {
            result = true
            break
        }
    }
    lastSrc = newScripts
    return result
}

/**
 * 自動(dòng)更新定時(shí)器
 */
function autoRefresh() {
    setTimeout(async () => {
        const needUpdate = await hasNewVersion()
        if (needUpdate) {
            const result = confirm('項(xiàng)目發(fā)布新版本,立即更新?')
            if (result) {
                location.reload()
            }
        }
        autoRefresh()
    }, 5000)
}

autoRefresh()

在 main.js 文件中引入 auto-update.js 文件即可

import './auto-update'

3、測試

將項(xiàng)目打包發(fā)布,瀏覽器訪問項(xiàng)目

在這里插入圖片描述

改變項(xiàng)目中的頁面內(nèi)容,重新打包發(fā)布

在這里插入圖片描述

點(diǎn)擊 “確定” 之后,頁面就會(huì)自動(dòng)刷新了

到此這篇關(guān)于VUE項(xiàng)目自動(dòng)檢測服務(wù)端是否發(fā)布了新版本的文章就介紹到這了,更多相關(guān)VUE 自動(dòng)檢測服務(wù)端新版本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue常見路由跳轉(zhuǎn)的幾種方式小結(jié)

    vue常見路由跳轉(zhuǎn)的幾種方式小結(jié)

    本文主要介紹了常見路由跳轉(zhuǎn)的幾種方式,主要介紹了四種常見方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 詳解如何將 Vue-cli 改造成支持多頁面的 history 模式

    詳解如何將 Vue-cli 改造成支持多頁面的 history 模式

    本篇文章主要介紹了詳解如何將 Vue-cli 改造成支持多頁面的 history 模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 一文詳解vue各種權(quán)限控制與管理實(shí)現(xiàn)思路

    一文詳解vue各種權(quán)限控制與管理實(shí)現(xiàn)思路

    這篇文章主要為大家介紹了vue各種權(quán)限控制與管理的實(shí)現(xiàn)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 詳解Webstorm 新建.vue文件支持高亮vue語法和es6語法

    詳解Webstorm 新建.vue文件支持高亮vue語法和es6語法

    這篇文章主要介紹了Webstorm 添加新建.vue文件功能并支持高亮vue語法和es6語法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-10-10
  • vue.js實(shí)現(xiàn)簡單的計(jì)算器功能

    vue.js實(shí)現(xiàn)簡單的計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了vue.js實(shí)現(xiàn)簡單的計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • vue3自定義dialog、modal組件的方法

    vue3自定義dialog、modal組件的方法

    這篇文章主要介紹了vue3自定義dialog、modal組件的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • vue中vant組件樣式失效問題及解決

    vue中vant組件樣式失效問題及解決

    這篇文章主要介紹了vue中vant組件樣式失效問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 關(guān)于vue2使用swiper4的踩坑記錄

    關(guān)于vue2使用swiper4的踩坑記錄

    最近寫vue的一個(gè)練手項(xiàng)目需要在里面實(shí)現(xiàn)一個(gè)輪播圖,想到去用第三方插件,百度了一輪,發(fā)現(xiàn)大部分都是swiper這個(gè)插件,這篇文章主要給大家介紹了關(guān)于vue2使用swiper4踩坑的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Vue3+element實(shí)現(xiàn)表格數(shù)據(jù)導(dǎo)出

    Vue3+element實(shí)現(xiàn)表格數(shù)據(jù)導(dǎo)出

    這篇文章主要為大家學(xué)習(xí)介紹了Vue3如何利用element實(shí)現(xiàn)表格數(shù)據(jù)導(dǎo)出功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧
    2023-07-07
  • 快速了解vue-cli 3.0 新特性

    快速了解vue-cli 3.0 新特性

    vue-cli 是 vue 官方團(tuán)隊(duì)推出的一款快速開發(fā) vue 項(xiàng)目的構(gòu)建工具,具有開箱即用并且提供簡潔的自定義配置等功能。這篇文章主要介紹了快速了解vue-cli 3.0 新特性,需要的朋友可以參考下
    2018-02-02

最新評論

泰来县| 安泽县| 永定县| 涞源县| 屯留县| 岳普湖县| 美姑县| 石嘴山市| 五莲县| 成武县| 阳泉市| 正阳县| 梁山县| 大连市| 营山县| 马边| 墨竹工卡县| 辽阳市| 华蓥市| 五大连池市| 庆云县| 徐闻县| 紫阳县| 偃师市| 哈尔滨市| 凌云县| 阜平县| 桂林市| 西乡县| 右玉县| 麦盖提县| 呼图壁县| 大理市| 库尔勒市| 建平县| 红原县| 平潭县| 云浮市| 磐安县| 云林县| 镇宁|