Использование работника сервиса в Quasar SPA - PullRequest
0 голосов
/ 01 мая 2020

У меня есть работающее приложение Bootstrap, которое использует Service Worker для фоновой обработки, и сейчас я переписываю это приложение как Quasar SPA. Все в значительной степени работает, но я не могу понять, как использовать Quasar / Webpack для предоставления файла Service Worker. Обратите внимание, что я пытаюсь создать SPA, а не PWA .

Я думаю проблема заключается в том, что мне нужно указать Quasar / Webpack, чтобы он предоставил незащищенный версия файла и имени работника сервиса.

Итак, предположим, что мой работник сервиса:

// src/modules/sw.js
import * as moment from "moment";
console.log(`From worker: worker started at ${moment().format("HH:mm:ss")}`);
...

, и я пытаюсь загрузить этого работника сервиса:

// src/modules/foo.js
let worker = new Worker("/modules/sw.js");

приводит к ошибке:

Failed to load resource: the server responded with a status of 404 (Not Found) https://localhost:44444/modules/sw.js

и действительно, sw.js нигде в dist нет, если я запускаю quasar build.

В духе 10 миллионов обезьян с пишущими машинками, пытающимися чтобы написать пьесу Шекспира, я попытался добавить запись в quasar.conf.js, но это не дало положительного эффекта:

sourceFiles: {
  serviceWorker: 'src/modules/sw.js'
}
...