У меня есть приложение Symfony, в котором я пытаюсь создать одну страницу PWA.
Манифест.json работает нормально, но всякий раз, когда я пытаюсь зарегистрировать работника службы, я получаю сообщение об ошибке.
Вот ошибки, которые я получаю в консоли chrome:
A bad HTTP response code (404) was received when fetching the script.
Failed to load resource: net::ERR_INVALID_RESPONSE
У меня есть блок javascript внутри моей страницы:
{% block javascripts %}
<script type='text/javascript'> if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('js/sw.js').then(registration => {
console.log('SW registered: ', registration);
}).catch(registrationError => {
console.log('SW registration failed: ', registrationError);
});
});
}</script>
{% endblock %}
и вот мой файл sw.js:
var cacheName = 'hello-pwa';
var filesToCache = [
'/css/style.css',
'/js/script.js',
'user/Index.html.twig',
];
/* Start the service worker and cache all of the app's content */
self.addEventListener('install', function(e) {
e.waitUntil(
caches.open(cacheName).then(function(cache) {
return cache.addAll(filesToCache);
})
);
});
/* Serve cached content when offline */
self.addEventListener('fetch', function(e) {
e.respondWith(
caches.match(e.request).then(function(response) {
return response || fetch(e.request);
})
);
});
вот мое дерево файлов:
|-- Project
|-- public
|-- js
|-- sw.js
|-- script.js
|-- css
|-- style.css
|-- manifest.json
|-- template
|-- user
|-- index.html.twig (we're here)