Работник по монтажу и обслуживанию PWA

#installation #progressive-web-apps #service-worker #manifest.json

Вопрос:

Я создал PWA с сотрудником службы, который устанавливается при использовании SDK для push-уведомлений firebase. Пожалуйста, смотрите ниже manifest.json и service-worker.
введите описание изображения здесь

манифест

Теперь я не могу запросить установку приложения, потому что оно выдает мне ошибку в отношении начального URL-адреса и что оно выходит за рамки. Могу ли я установить другого сотрудника службы просто для запроса? Область, как видно на фотографиях сотрудника службы для уведомлений firebase, по-видимому, является базой домена, а не начальной страницей pwa.

Не совсем уверен, как я мог бы это решить…
маяк

Здесь структура файла asp.net основной проект: введите описание изображения здесь

Ответ №1:

Из документации:

Область действия работника службы определяет, какие файлы контролирует работник службы, другими словами, с какого пути работник службы будет перехватывать запросы. Область по умолчанию-это расположение файла работника службы, и она распространяется на все каталоги ниже. Так что, если service-worker.js находится в корневом каталоге, работник службы будет контролировать запросы от всех файлов в этом домене.

Правильно, ваш работник службы не находится в корне домена, поэтому он не будет охватывать весь домен, он находится под /firebase-cloudmessaging-push-scope , поэтому вы либо обслуживаете PWA из этой области, либо перемещаете файл работника службы в область PWA по адресу /Client/Dashboard . Поскольку для вашего сотрудника службы перехвата запросов и сообщений для вашего PWA требуется не только приглашение на установку, они должны находиться в одной области.

Комментарии:

1. Спасибо. Точно. Проблема в том, что я использую плагин firebase / sdk, который запускает сотрудника службы для уведомлений в этой области.

2. Можете ли вы опубликовать файловую структуру вашего проекта? Является ли файл firebase-messaging-sw.js в основе проекта? и он содержит папку Клиент/панель мониторинга для PWA? Также «Вы также можете задать произвольную область действия, передав дополнительный параметр при регистрации. Например:» Поэтому может быть полезно посмотреть, как вы регистрируете sw.

3. Да, firebase-messaging-sw.js находится в корне. Все работает нормально с точки зрения уведомлений. Я отредактировал свой вопрос. Это ан asp.net основной веб-сайт с pwa на клиенте/панели мониторинга. Оттуда также инициируется работник службы. Это sdk firebase. Работник службы регистрируется через свой sdk, поэтому я не могу выбрать область действия. смотрите здесь medium.com/analytics-vidhya/… Для меня все дело в сфере охвата. Вот почему мой вопрос, могу ли я просто зарегистрировать другого сотрудника службы или адаптировать объем пакета firebase sdk.