Я пытаюсь использовать сервисных работников внутри веб-приложения, использующего Webpack и Docker.
Все, что я сделал на данный момент, работает хорошо (сервисный работник, конфигурация webpack, регистрация рабочего ...)
На самом деле мое приложение работает внутри контейнера Docker, в этом контейнере я могу запустить сборку веб-пакета для создания всех моих файлов JS.
Но теперь я бы хотел использовать dev-сервер веб-пакетаи HMR с моим сервисным работником.
Для этого я использовал https://github.com/oliviertassinari/serviceworker-webpack-plugin, который правильно сослался на моего сервисного работника внутри manifest.json
Затем, когда я получил доступ через мойвеб-браузер для моего приложения, все встроенные ресурсы найдены, кроме моего работника.
Я запускаю свой dev-сервер, используя (я использую webpack-encore ), внутри моего док-контейнера
encore dev-server --hot --host 0.0.0.0 --port 8080
Чтобы загрузить мои ресурсы, браузер запрашивает их на 0.0.0.0:8080
, но мой работник зарегистрирован с localhost:8000
, поэтому запрос завершается с ошибкой 404, потому что работник расположен 0.0.0.0:8080/sw.js
вместо localhost:8080/sw.js
.
я бы зналТеперь, если это было возможно, чтобы исправить это поведение и заставить моего сервисного работника работать внутри webpack-dev-server на контейнере Docker.
Я знаю, что сервисные работники слушают только свою область, в моем случае localhost:8000/*
, ноwebpack-dev-server: 0.0.0.0:8080
.
Вот почему я спрашиваю, возможно ли изменить это поведение, чтобы оно работало, и если у кого-то уже была эта проблема.
Спасибо