zoukankan      html  css  js  c++  java
  • vue 中的registerServiceWorker

    目前的Vue脚手架默认会携带一个 registerServiceWorker的东西,这个东西是做什么的呢?

    首先说明,registerServiceWorker可以运用于主流框架,它只是为了简化缓存机制产生的js包,以下的例子是在Vue中使用
    这个文件可以视情况用或者不用,它是用来做离线缓存等任务的,实际上就是为Vue项目注册了一个service worker。这样的话,如果在线上,只要访问过一次该网站,以后即使没有网络也可以访问(此时使用的是之前缓存的资源)。只在生产环境中有效(process.env.NODE_ENV === ‘production’)

    使用service worker的现象是什么呢?

    他会在第一次访问该站点的时候,一次性请求加载所有资源,当然 除了当前页面的资源是通过浏览器去获取的,其他缓存资源都是通过service worker,如下图所示:

    //registerServiceWorker.js
    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.
    ' +
            '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)
        }
      })
    }
    
  • 相关阅读:
    Java网络编程
    loj#6517. 「雅礼集训 2018 Day11」字符串(回滚莫队)
    bzoj4241: 历史研究(回滚莫队)
    洛谷P5050 【模板】多项式多点求值
    loj#6053. 简单的函数(Min_25筛)
    【BZOJ4144】[AMPPZ2014]Petrol(最短路+最小生成树+并查集)
    51nod 1781 Pinball(线段树)
    CF1110D Jongmah
    CF1106F Lunar New Year and a Recursive Sequence(矩阵快速幂+bsgs+exgcd)
    20. Valid Parentheses
  • 原文地址:https://www.cnblogs.com/smart-girl/p/12606011.html
Copyright © 2011-2022 走看看