Ответ 1
Поместите файл службы script в корневой каталог вашего сайта и установите start_url
в /
или поместите его туда, где хотите, и используйте свойство scope
и заголовок HTTP Service-Worker-Allowed
, как в мой другой ответ.
Эй, я пытаюсь запрограммировать свой первый 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.
В чем проблема? Спасибо за вашу помощь.
Поместите файл службы script в корневой каталог вашего сайта и установите start_url
в /
или поместите его туда, где хотите, и используйте свойство scope
и заголовок HTTP Service-Worker-Allowed
, как в мой другой ответ.
Работник службы создания реагирующих приложений вступает в силу только в производственной среде, поэтому соберите его и обслуживайте локально, чтобы проверить, правильно ли работает обслуживающий работник.
Сначала установите serve npm, если это еще не npm я serve -g
: npm я serve -g
Затем...
npm run build
serve -s build
Также вероятно, что однажды сервисный работник beforeinstallprompt
зарегистрируется, но что-то вроде beforeinstallprompt
может не вызываться. Если это так, опубликуйте приложение с помощью хоста, такого как firebase, который будет обслуживать сайт через https
, а затем попробуйте beforeinstallprompt
перед beforeinstallprompt
.