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 '/'
},

но это больше не копирует файл.

Я совсем новичок в сфере обслуживания, возможно, я неправильно понимаю, как это работает.

0 ответов

Другие вопросы по тегам