Сервисный работник был успешно зарегистрирован (это было показано в devtools), но код в файле serviceworker.js не был выполнен.
Я хочу добавить обслуживающий работник в мой проект Vue, используя webpack в качестве инструмента для сборки.
Некоторая другая полезная информация:
1.Serviceworker.js используется в качестве отдельного входного файла, гарантируя, что выходное имя файла по-прежнему будет servicerworker.js (другие входные файлы будут переименованы по хеш-значениям)
Включение работника службы через HTTP в chrome (для определенного источника) с использованием некоторых флагов.Вы можете обратиться к Параметру командной строки для внесения в белый список определенных источников, чтобы упростить разработку и тестирование веб-сайтов с использованием только функций Secure Origin .
3.WebpackConfig.js: devServer.publicPath is /static/
index.html:
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/static/serviceworker.js', {
scope: '/static/'
}).then(function (reg) {
console.log('Registration succeeded. Scope is ' + reg.scope);
}).catch(function (error) {
console.log('Registration failed with ' + error);
});
}
</script>
serviceworker.js:
console.log('Hello from sw.js')
ожидается:
Я ожидаю, что работник сервиса будет успешно зарегистрирован.
Консоль может распечатать:
"Регистрация успешно завершена. Область действия myOrigin / static /"
"Hello from sw.js"
результаты:
- Сервисный работник успешно зарегистрирован с точки зрения инструментов dev и chrome: // serviceworker-internals/ (Мне жаль, что у меня недостаточно репутации для публикации фотографий, поэтому я дам две ссылки.).
devTool
хром: // внутренние работники /
Консоль только распечатывает:
"Регистрация прошла успешно. Область действия myOrigin / static /"