Как добавить service worker в Vue.js проект?

#vue.js #service-worker

#vue.js #работник службы

Вопрос:

Я пытаюсь использовать работника службы в своем Vue.js проект. У меня это работает с очень простым рабочим, который я только что поместил в свой public/ каталог (пример ниже), но это не позволяет мне загружать зависимости, используя require() , что я и хотел бы сделать дальше.

 self.addEventListener('install', event => {
  self.skipWaiting();
  console.log(self)
});

self.addEventListener('fetch',  function(event) {
  const url = new URL(event.request.url);
  console.log(url)
})
 

Я нашел service-worker-loader, но он представляет мне это во время компиляции: Syntax Error: TypeError: Cannot read property 'unlink' of null . Ошибка сохраняется, даже когда я предоставляю serviceWorker.js полностью пустой файл. vue.config.js У меня настроен загрузчик:

 module.exports = {
  configureWebpack: {
    module: {
      rules: [
        { test: /serviceWorker.js$/, use: { loader: "service-worker-loader" }}
      ]
    }
  }
}
 

И я ссылаюсь на своего работника, используя import registerServiceWorker from 'service-worker-loader!./serviceWorker'; .

Я упускаю что-то основное? Каков «стандартный» способ включения пользовательского кода работника службы в Vue.js проект?