Невозможно установить сайт: не обнаружен соответствующий сотрудник службы

Эй, я пытаюсь запрограммировать свой первый pwa и получил следующую проблему:

когда я запускаю свое веб-приложение, я получаю следующую ошибку:

Невозможно установить сайт: не обнаружен соответствующий сотрудник службы. Возможно, вам придется перезагрузить страницу или проверить, что рабочий сервис для текущей страницы также управляет стартовым URL из манифеста

Я думаю, что мой явный url прав из-за этого ссылка

manifest.json

"start_url": ".",
"display": "standalone",
"orientation": "portrait",
"theme_color": "#29BDBB",
"background_color": "#29BDBB"

и я зарегистрирую свой sw как это:

if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('./sw.js').then(function(reg) {
    console.log('Successfully registered service worker', reg);
}).catch(function(err) {
    console.warn('Error whilst registering service worker', err);
});
}

Я получил свой sw от здесь

Итак, я пытаюсь создать простую веб-приложение, в которой я могу разместить firebase.

В чем проблема? Спасибо за вашу помощь.

Ответ 1

Поместите файл службы script в корневой каталог вашего сайта и установите start_url в / или поместите его туда, где хотите, и используйте свойство scope и заголовок HTTP Service-Worker-Allowed, как в мой другой ответ.

Ответ 2

Работник службы создания реагирующих приложений вступает в силу только в производственной среде, поэтому соберите его и обслуживайте локально, чтобы проверить, правильно ли работает обслуживающий работник.

Сначала установите serve npm, если это еще не npm я serve -g: npm я serve -g

Затем...

npm run build

serve -s build

Также вероятно, что однажды сервисный работник beforeinstallprompt зарегистрируется, но что-то вроде beforeinstallprompt может не вызываться. Если это так, опубликуйте приложение с помощью хоста, такого как firebase, который будет обслуживать сайт через https, а затем попробуйте beforeinstallprompt перед beforeinstallprompt.