У меня есть работающее приложение 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'
}