При створенні програми для реагування за замовчуванням викликається працівник служби. Чому використовується службовець? У чому причина виклику за замовчуванням?
При створенні програми для реагування за замовчуванням викликається працівник служби. Чому використовується службовець? У чому причина виклику за замовчуванням?
Відповіді:
Можливо, вам не знадобиться сервісний працівник для вашої заявки. Якщо ви створюєте проект за допомогою програми create-response-app, він запускається за замовчуванням
У цій статті добре описано працівників сфери обслуговування . Підсумовуючи з цього
A
service worker
- це сценарій, який ваш браузер запускає у фоновому режимі, окремо від веб-сторінки, відкриваючи двері для функцій, які не потребують веб-сторінки або взаємодії користувача. Сьогодні вони вже включають такі функції, якpush notifications
і,background sync
і вability to intercept and handle network requests
тому числіprogrammatically managing a cache of responses
.У майбутньому працівники сфери послуг можуть підтримувати інші речі, такі як
periodic sync
абоgeofencing
.
Відповідно до цього PR створити-реагувати-додаток
Service workers
вводяться з create-response-app черезSWPrecacheWebpackPlugin
.Використання робочого сервера із стратегією, кешованою першим кешем, забезпечує переваги в продуктивності, оскільки мережа більше не є вузьким місцем для виконання навігаційних запитів. Однак це означає, що розробники (та користувачі) бачитимуть розгорнуті оновлення лише під час відвідування сторінки "N + 1", оскільки раніше кешовані ресурси оновлюються у фоновому режимі.
Виклик до register service worker
ввімкнено за замовчуванням у нових програмах, але ви завжди можете його видалити, і тоді Ви повернетесь до звичної поведінки.
Простими і простими словами, це сценарій, який браузер працює у фоновому режимі і не має жодного відношення до веб-сторінок або DOM і надає готові функції. Це також допомагає кешувати ваші активи та інші файли, щоб, коли користувач перебуває в автономному режимі або в повільній мережі.
Деякі з цих функцій - це проксі-запити мережі, push-сповіщення та фонова синхронізація. Сервісні працівники гарантують, що користувач має багатий досвід роботи в автономному режимі.
Ви можете думати про працівника служби, як про того, хто сидить між клієнтом і сервером, і всі запити, що надходять на сервер, проходять через службовця. В основному, середній чоловік. Оскільки всі запити проходять через працівника служби, він здатний перехоплювати ці запити на льоту.
Я хотів би додати 2 важливих міркування щодо працівників сфери обслуговування, які слід взяти до уваги:
Працівники сфери послуг потребують HTTPS. Але щоб увімкнути локальне тестування, це обмеження не поширюється на localhost
. Це з міркувань безпеки, оскільки службовець працює як людина посередині між веб-програмою та сервером.
З Create React App Service Worker увімкнено лише у виробничому середовищі, наприклад під час запуску npm run build
.
Службовець тут, щоб допомогти у розробці прогресивного веб-додатка . Хороший ресурс про це в контексті Create React App можна знайти на їх веб-сайті тут .