кодесурса
«Угловое

Угловой сервисный работник введение

script1adsense2code
script1adsense3code

Работники сферы обслуживания дополняют традиционную модель веб-развертывания и расширяют возможности приложений, обеспечивая пользователям удобство и надежность на уровне исходного кода. Добавление сервисного работника в приложение Angular является одним из шагов по превращению приложения в Progressive Web App (также известное как PWA).

В простейшем случае сервисный работник - это скрипт, который запускается в веб-браузере и управляет кэшированием приложения.

Сервисные работники функционируют как сетевой прокси. Они перехватывают все исходящие HTTP-запросы, сделанные приложением, и могут выбирать, как на них отвечать. Например, они могут запрашивать локальный кеш и доставлять кешированный ответ, если таковой имеется. Прокси не ограничивается запросами, сделанными через программные API, такие как fetch; он также включает ресурсы, на которые есть ссылки в HTML, и даже первоначальный запрос к index.html. Таким образом, кэширование на основе работника сервиса полностью программируемо и не зависит от заголовков кэширования, указанных сервером.

В отличие от других сценариев, составляющих приложение, таких как пакет приложений Angular, сервисный работник сохраняется после того, как пользователь закрывает вкладку. В следующий раз, когда браузер загружает приложение, сначала загружается сервисный работник, и он может перехватывать каждый запрос ресурсов для загрузки приложения. Если сервисный работник предназначен для этого, он может полностью удовлетворить загрузку приложения без необходимости в сети.

Даже в быстрой и надежной сети двусторонние задержки могут привести к значительной задержке при загрузке приложения. Использование работника службы для уменьшения зависимости от сети может значительно улучшить взаимодействие с пользователем.

Сервисные работники в Angular

Угловые приложения, как одностраничные приложения, находятся в выгодном положении, чтобы воспользоваться преимуществами сервисных работников. Начиная с версии 5.0.0, Angular поставляется с реализацией сервисного работника. Разработчики Angular могут воспользоваться преимуществами этого работника сервиса и воспользоваться повышенной надежностью и производительностью, которую он обеспечивает, без необходимости кодирования против низкоуровневых API.

Сервисный работник Angular разработан для того, чтобы оптимизировать работу конечного пользователя при использовании приложения через медленное или ненадежное сетевое соединение, а также минимизировать риски обслуживания устаревшего контента.

Поведение обслуживающего персонала Angular следует этой цели проектирования:

  • Кэширование приложения похоже на установку нативного приложения. Приложение кэшируется как единое целое, и все файлы обновляются вместе.
  • Работающее приложение продолжает работать с той же версией всех файлов. Он не начинает внезапно получать кэшированные файлы из более новой версии, которые, вероятно, несовместимы.
  • Когда пользователи обновляют приложение, они видят последнюю полностью кэшированную версию. Новые вкладки загружают последний кешированный код.
  • Обновления происходят в фоновом режиме, относительно быстро после публикации изменений. Предыдущая версия приложения обслуживается до тех пор, пока обновление не будет установлено и готово.
  • Сервисный работник сохраняет пропускную способность, когда это возможно. Ресурсы загружаются только если они изменились.

Для поддержки такого поведения работник службы Angular загружает файл манифеста с сервера. Манифест описывает ресурсы для кэширования и включает в себя хэши содержимого каждого файла. При развертывании обновления приложения содержимое манифеста изменяется, сообщая работнику службы о необходимости загрузки и кэширования новой версии приложения. Этот манифест генерируется из сгенерированного CLI файла конфигурации с именем ngsw-config.json.

Установить работника службы Angular так же просто, как включить модуль NgModule. Помимо регистрации работника службы Angular в браузере, это также делает доступными для внедрения несколько служб, которые взаимодействуют с работником службы и могут использоваться для управления им. Например, приложение может запросить уведомление, когда новое обновление станет доступным, или приложение может попросить работника сервиса проверить сервер на наличие доступных обновлений.

Предпосылки

Ваше приложение должно работать в веб-браузере, который поддерживает сервисных работников. В настоящее время работники сферы обслуживания поддерживаются в последних версиях Chrome, Firefox, Edge, Safari, Opera, UC Browser (версия для Android) и Samsung Internet. Браузеры, такие как IE и Opera Mini, не предоставляют поддержку.

Связанные ресурсы

Для получения дополнительной информации о сервисных работниках в целом см. Сервисные работники: введение.

Для получения дополнительной информации о поддержке браузера см. Раздел поддержки браузера в разделе «Работники сервиса: введение», «Готов ли Serviceworker от Джейка Арчибальда?» И «Могу ли я использовать».

Предыдущая: Маршрутные анимации перехода
Далее: Начало работы с сервисными работниками

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code