Я учу сервисных работников из Udacity, и они используют серверную часть nodejs для работы с сервисными работниками. Есть ли способ использовать то же самое в рамках Laravel. Я пробовал один раз, но я не знаю, как хранить скомпилированные HTML, CSS и JS в кеше. Может кто-нибудь мне помочь? Спасибо
Вам не нужно использовать nodejs для работы с сервисным работником. Просто зарегистрируйте работника где-нибудь в app.js
и использовать install
а также fetch
событие в отдельном файле (например, sw.js
) вмешиваться в запросы Http с:
// app.js
navigator.serviceWorker.register('sw.js', {
scope: './'
});
// sw.js
// fetch
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(response) {
return response || fetch(event.request);
})
);
});
Других решений пока нет …