欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue?2?如何添加?register-service-worker?實(shí)現(xiàn)緩存請(qǐng)求的問(wèn)題

 更新時(shí)間:2022年11月17日 10:20:41   作者:十月ooOO  
這篇文章主要介紹了Vue?2?如何添加?register-service-worker?以實(shí)現(xiàn)緩存請(qǐng)求的目的,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Vue 2 如何添加 register-service-worker 以實(shí)現(xiàn)緩存請(qǐng)求的目的

一、問(wèn)題描述

現(xiàn)在 vue 3 的模板中是自帶 register-service-worker 的。
用這個(gè)的好處是,它會(huì)自動(dòng)將項(xiàng)目中的所有文件請(qǐng)求緩存到 service-worker 中,以實(shí)現(xiàn)再次打開(kāi)網(wǎng)站的時(shí)候會(huì)非常非???。
如果頁(yè)面中變化,也會(huì)自動(dòng)在后臺(tái)下載變化的文件,頁(yè)面的變化在下次刷新頁(yè)面的時(shí)候就會(huì)自動(dòng)生效。

我有幾個(gè) Vue2 的項(xiàng)目需要實(shí)現(xiàn)這個(gè)功能,摸索了下,把結(jié)果分享一下:

二、實(shí)現(xiàn)

1. 需要在 package.json 中添加兩個(gè)插件:

    "register-service-worker": "^1.7.2",  // 用于管理  service-worker 的文件注冊(cè)更新等
    "@vue/cli-plugin-pwa": "^4.5.19",

安裝 register-service-worker 安裝到項(xiàng)目依賴目錄 dependencies

npm i register-service-worker

安裝 @vue/cli-plugin-pwa 安裝到項(xiàng)目開(kāi)發(fā)支持目錄 devDependencies

npm i  -D @vue/cli-plugin-pwa@4.5.19

安裝完成之后的 package.json 文件是這樣的:

  "dependencies": {
    ...
    "register-service-worker": "^1.7.2",
    ...
  },
  "devDependencies": {
  	...
    "@vue/cli-plugin-pwa": "^4.5.19",
    ...
  }

2. 添加 registerServiceWorker.js

還需要在 /src 目錄下,添加 registerServiceWorker.js 這個(gè)文件,這個(gè)文件的內(nèi)容很固定,直接用就行。

官方的那個(gè)只能用于項(xiàng)目處于網(wǎng)站根目錄的情況,而我自己有很多項(xiàng)目是部署在子目錄的,比如 kylebing.cn/diary kylebing.cn/tools/wubi-dict-editor,那么此時(shí)再用官方的那個(gè)文件內(nèi)容可能就不能用了。所以直接用我這個(gè)就行 。

registerServiceWorker.js 完整內(nèi)容

/* eslint-disable no-console */

import { register } from 'register-service-worker'

if (process.env.NODE_ENV === 'production') {
  register(`${process.env.BASE_URL}service-worker.js`, {
    ready () {
      console.log(
        'App is being served from cache by a service worker.\n' +
        'For more details, visit https://goo.gl/AFskqB'
      )
    },
    registered () {
      console.log('Service worker has been registered.')
    },
    cached () {
      console.log('Content has been cached for offline use.')
    },
    updatefound () {
      console.log('New content is downloading.')
    },
    updated () {
      console.log('New content is available; please refresh.')
    },
    offline () {
      console.log('No internet connection found. App is running in offline mode.')
    },
    error (error) {
      console.error('Error during service worker registration:', error)
    }
  })
}

3. 在 main.js 中引入 registerServiceWorker.js 即可

在項(xiàng)目的 main.js 中引入 registerServiceWorker.js,再執(zhí)行 npm build 即可生成能夠緩存請(qǐng)求的項(xiàng)目了

我一般的項(xiàng)目入口文件名這 main.js,你的可能是 app.js,等同。

import "./registerServiceWorker"

4. 在 vue.config.js 中添加 pwa 配置

添加 pwa 支持之后, index.html 中的 favicon 設(shè)置就已經(jīng)失效了,需要從 vue.config.jspwa 字段中單獨(dú)配置。

/**
     * PWA 設(shè)置
     */
    pwa: {
        name: '地圖工具', // 名字
        themeColor: "white", // 背景顏色
        appleMobileWebAppCapable: true, // 蘋果 WebApp 支持

        // manifest 設(shè)置
        manifestOptions: {
            name: '地圖工具',
            short_name: "地圖工具",
            theme_color: "white",
            start_url: ".",
            display: "standalone",
            background_color: "white",
            icons: [
                {
                    src: "favicon.png", // 這里的圖片地址對(duì)應(yīng) /public 目錄中的圖片地址
                    sizes: "512x512",
                    type: "image/png",
                    purpose: "any",
                }
            ],
        },

        // 圖標(biāo)
        iconPaths: {
            // 這里是項(xiàng)目外的路徑,對(duì)應(yīng) public 目錄
            favicon32: 'favicon.png', // 這里的圖片地址對(duì)應(yīng) /public 目錄中的圖片地址
            favicon16: 'favicon.png', // 這里的圖片地址對(duì)應(yīng) /public 目錄中的圖片地址
            maskIcon: null,
            msTileImage: null
        }
    }

之后就能正常顯示了:

三、結(jié)果

首次加載頁(yè)面的時(shí)候,注冊(cè)了 service-worker.js

之后所有的文件都能夠通過(guò) service-worker 從緩存中獲取了

以上就是Vue 2 如何添加 register-service-worker 以實(shí)現(xiàn)緩存請(qǐng)求的目的的詳細(xì)內(nèi)容,更多關(guān)于vue緩存請(qǐng)求的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 最簡(jiǎn)單的vue消息提示全局組件的方法

    最簡(jiǎn)單的vue消息提示全局組件的方法

    這篇文章主要介紹了最簡(jiǎn)單的vue消息提示全局組件的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • element-ui?el-table表格固定表頭代碼示例

    element-ui?el-table表格固定表頭代碼示例

    Element-UI的el-table組件是一個(gè)非常強(qiáng)大的表格組件,它提供了多種常見(jiàn)的表格功能,如排序、篩選、分頁(yè)、自定義列模板等,這篇文章主要給大家介紹了關(guān)于element-ui?el-table表格固定表頭的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • 如何實(shí)現(xiàn)vue的tree組件

    如何實(shí)現(xiàn)vue的tree組件

    這篇文章主要介紹了如何實(shí)現(xiàn)vue的tree組件,幫助大家更好的理解和學(xué)習(xí)vue框架,感興趣的朋友可以了解下
    2020-12-12
  • Vue3實(shí)現(xiàn)LuckSheet在線預(yù)覽Excel表格

    Vue3實(shí)現(xiàn)LuckSheet在線預(yù)覽Excel表格

    在前端開(kāi)發(fā)中預(yù)覽Excel文件是常見(jiàn)的需求之一,本文將介紹如何使用Vue.js框架以及兩個(gè)優(yōu)秀的Excel庫(kù)——LuckyExcel和Luckysheet,來(lái)實(shí)現(xiàn)Excel文件在線預(yù)覽功能,希望對(duì)大家有所幫助
    2023-11-11
  • nginx配置域名后的二級(jí)目錄訪問(wèn)不同項(xiàng)目的配置操作

    nginx配置域名后的二級(jí)目錄訪問(wèn)不同項(xiàng)目的配置操作

    這篇文章主要介紹了nginx配置域名后的二級(jí)目錄訪問(wèn)不同項(xiàng)目的配置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • vue中環(huán)境變量的使用與配置講解

    vue中環(huán)境變量的使用與配置講解

    這篇文章主要介紹了vue中環(huán)境變量的使用與配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue3?Error:Unknown?variable?dynamic?import:?../views/的解決方案

    vue3?Error:Unknown?variable?dynamic?import:?../views/的解

    這篇文章主要給大家介紹了關(guān)于vue3?Error:Unknown?variable?dynamic?import:?../views/的解決方案,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Vue?ElementUI在el-table中使用el-popover問(wèn)題

    Vue?ElementUI在el-table中使用el-popover問(wèn)題

    這篇文章主要介紹了Vue?ElementUI在el-table中使用el-popover問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue 實(shí)現(xiàn)監(jiān)聽(tīng)窗口關(guān)閉事件,并在窗口關(guān)閉前發(fā)送請(qǐng)求

    Vue 實(shí)現(xiàn)監(jiān)聽(tīng)窗口關(guān)閉事件,并在窗口關(guān)閉前發(fā)送請(qǐng)求

    這篇文章主要介紹了Vue 實(shí)現(xiàn)監(jiān)聽(tīng)窗口關(guān)閉事件,并在窗口關(guān)閉前發(fā)送請(qǐng)求,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • 一文詳解Vue如何整合Echarts實(shí)現(xiàn)可視化界面

    一文詳解Vue如何整合Echarts實(shí)現(xiàn)可視化界面

    ECharts,縮寫來(lái)自Enterprise Charts,商業(yè)級(jí)數(shù)據(jù)圖表,一個(gè)純Javascript的圖表庫(kù),可以流暢的運(yùn)行在PC和移動(dòng)設(shè)備上。本文將在Vue中整合Echarts實(shí)現(xiàn)可視化界面,感興趣的可以了解一下
    2022-04-04

最新評(píng)論