Встречается на собеседованиях • сегодня
Как закешировать файл через Service Worker
Service Worker позволяет кэшировать файлы для оффлайн-доступа. Вот базовый пример:
javascript
self.addEventListener('install', (event) => {
event.waitUntil(
caches.open('my-cache-v1').then((cache) => {
return cache.addAll([
'/',
'/styles/main.css',
'/scripts/app.js',
'/images/logo.png'
]);
})
);
});
self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request).then((response) => {
return response || fetch(event.request);
})
);
});
text
Ключевые моменты:
1. В событии `install` мы открываем кэш и добавляем файлы
2. Версия кэша (`v1`) помогает управлять обновлениями
3. В событии `fetch` сначала проверяем кэш, и только если нет - делаем запрос
Для обновления кэша можно добавить логику в событие `activate`, удаляя старые версии.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы