Webpack и сервисный работник скопированы в корневую папку
Я работаю над сервисным работником, который будет перехватывать все запросы браузера и затем делать какие-то вещи.
Я пытаюсь перехватить запрос, который находится в mysite.com/*
но я скопировал мой файл рабочего сервиса с помощью веб-пакета в сконфигурированный путь вывода, который public/build/
, Мой сервисный работник только перехватывает запрос, который находится внутри /build/*
, ср: /questions/26741014/servisnyij-rabotnik-keshiruet-fajlyi-no-sobyitie-izvlecheniya-nikogda-ne-zapuskaetsya/26741030#26741030
Поэтому мой вопрос заключается в том, как я могу скопировать моего сервисного работника в корневую папку моего проекта, а затем зарегистрировать его в моих файлах JS, чтобы перехватить весь запрос от mysite.com/foo
Собственно мой конфиг webpack, я использовал Webpack Encore
.setOutputPath('public/build/')
.setPublicPath('/build')
.copyFiles([
{
from: './assets/js/worker',
pattern: /(request_interceptor.js)$/u,
},
])
Если я изменю свой публичный путь, тогда мне нужно будет изменить каждый импорт ресурсов внутри моего кода, и если я изменю свой outputPath, мне нужно удалить .cleanupOutputBeforeBuild()
метод, который очищает все мои встроенные файлы активов.
Я пытался с помощью
{
from: './assets/js/worker',
pattern: /(request_interceptor.js)$/u,
to: '', // or with '/'
},
но это больше не копирует файл.
Я совсем новичок в сфере обслуживания, возможно, я неправильно понимаю, как это работает.