В последнее время я изучаю использование Service Workers в веб-приложениях. Варианты использования включают предварительную загрузку контента в масштабе, ускорение работы вашего веб-сайта, обработку отказоустойчивости и, возможно, многое другое. Одна из проблем, с которой я постоянно сталкиваюсь, — это необходимость подгонять моего сервис-воркера в соответствии с фреймворком, не более того. Давайте посмотрим, какое золото я накопал на прошлой неделе ниже 👇🏻

Где это началось?

Я пытался настроить пользовательский сервис-воркер с Angular 11, и руководство https://angular.io/guide/service-worker-getting-started попросило меня установить модуль angular/pwa, читайте https:/ /angular.io/guide/service-worker-коммуникации, а затем адаптироваться к способу создания сервис-воркера в angular. Что ж, мне показалось, что работы много, поэтому я решил создать независимый от фреймворка процесс добавления пользовательского работника службы. Оглядываясь назад, я думаю, что это было довольно проще с Vue 2 и 3, но это было похоже на хакерство.

Покажи мне решение!

Шаг 0. Установите esbuild

Шаг 1. Создайте workbox-config.js:

Узнайте больше о том, что есть в конфигурации рабочего ящика, здесь:

Шаг 2. Создайте compile_sw.js:

Шаг 3. Скомпилируйте и внедрите:

Шаг 4. Зарегистрируйте Service Worker

Вот и все, наслаждайтесь! Надеюсь, это поможет!

Ссылки