其他分享
首页 > 其他分享> > 图文并茂使用VUE+Quasar CLI开发和构建PWA,registerServiceWorker介绍

图文并茂使用VUE+Quasar CLI开发和构建PWA,registerServiceWorker介绍

作者:互联网

看文档

npx quasar mode add pwa

.
└── src-pwa/
    ├── register-service-worker-dev.js   # 应用代码**管理**Service Worker
    └── custom-service-worker.js    # 可选的自定义的service worker文件

// quasar.config.js

sourceFiles: {
  pwaRegisterServiceWorker: 'src-pwa/register-service-worker',
  pwaServiceWorker: 'src-pwa/custom-service-worker',
  pwaManifestFile: 'src-pwa/manifest.json',
}

根据需求修改你的quasar.config.js


PWA构建命令

$ quasar dev -m pwa

# ..或者更长的形式:
$ quasar dev --mode pwa

# 使用一个特定的Quasar模式:
$ quasar dev -m pwa -t ios
$ quasar build -m pwa

# ..或者更长的形式:
$ quasar build --mode pwa

# 使用一个特定的Quasar模式:
$ quasar build -m pwa -t ios


你看,成功了吧~·

开始测试有没有进行缓存

PWA验证

接下来我们来探索一下具体的配置registerServiceWorker

registerServiceWorker是什么,src-pwa\register-service-worker.js是什么用途

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

顺便普及一下:Service Worker 是什么?还可以去这里PWA-H5 Web App优化探索之路(Service Worker,Lighthouse)看我的文章,有特别详细,图文并茂的介绍哦~~

src-pwa\register-service-worker.js介绍

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

// The ready(), registered(), cached(), updatefound() and updated()
// events passes a ServiceWorkerRegistration instance in their arguments.
// ServiceWorkerRegistration: https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration

register(process.env.SERVICE_WORKER_FILE, {
  // The registrationOptions object will be passed as the second argument
  // to ServiceWorkerContainer.register()
  // https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register#Parameter

  // registrationOptions: { scope: './' },

  ready (/* registration */) {
    // console.log('Service worker is active.')
  },

  registered (/* registration */) {
    // console.log('Service worker has been registered.')
  },

  cached (/* registration */) {
    // console.log('Content has been cached for offline use.')
  },

  updatefound (/* registration */) {
    // console.log('New content is downloading.')
  },

  updated (/* registration */) {
    // console.log('New content is available; please refresh.')
  },

  offline () {
    // console.log('No internet connection found. App is running in offline mode.')
  },

  error (/* err */) {
    // console.error('Error during service worker registration:', err)
  }
})

欢迎大家指出文章需要改正之处~
学无止境,合作共赢

在这里插入图片描述

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

标签:VUE,图文并茂,service,registerServiceWorker,quasar,PWA,worker,js,pwa
来源: https://www.cnblogs.com/sugartang/p/16412748.html