Настройка файла работника службы PWA

#wordpress #progressive-web-apps #workbox

#wordpress #прогрессивные-веб-приложения #рабочий ящик

Вопрос:

У меня есть блог, и я хочу создать его версию для PWA. Я уже создал манифест, но меня немного смущают настройки работника службы. Я уже создал файл работника службы, но я не уверен, что он будет работать нормально. Я использовал руководства на веб-сайте Workbox. Я хочу, чтобы мой PWA был способен к предварительному кэшированию, первой сети, кэшированию изображений/js/css/шрифтов и т. Д., Автономной аналитике, фоновой и периодической синхронизации. Подходит ли мой код для этих функций?

Вот мой код работника службы:

 // Yapi Tasarim Akademisi Service Worker importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.2/workbox-sw.js');  workbox.setConfig({ debug: true, });  import {  pageCache,  imageCache,  staticResourceCache,  googleFontsCache,  offlineFallback, } from 'workbox-recipes';  pageCache();  googleFontsCache();  staticResourceCache();  imageCache();  offlineFallback();    // Background sync   import {BackgroundSyncPlugin} from 'workbox-background-sync'; import {registerRoute} from 'workbox-routing'; import {NetworkOnly} from 'workbox-strategies';  const bgSyncPlugin = new BackgroundSyncPlugin('myQueueName', {  maxRetentionTime: 24 * 60 // Retry for max of 24 Hours (specified in minutes) });  registerRoute(  //api/.*/*.json/,  new NetworkOnly({  plugins: [bgSyncPlugin]  }),  'POST' );     const statusPlugin = {  fetchDidSucceed: ({response}) =gt; {  if (response.status gt;= 500) {  // Throwing anything here will trigger fetchDidFail.  throw new Error('Server error.');  }  // If it's not 5xx, use the response as-is.  return response;  }, };  // Add statusPlugin to the plugins array in your strategy.       // Offline Analytics  import * as googleAnalytics from 'workbox-google-analytics';  googleAnalytics.initialize();    // Pre-cache  import {precacheAndRoute} from 'workbox-precaching';  precacheAndRoute([  {url: '/index.html', revision: '383676' },  {url: '/styles/app.0c9a31.css', revision: null},  {url: '/scripts/app.0d5770.js', revision: null},  // ... other entries ... ]);