Сервисные работники в среде разработки передовой опыт?

На сайте, над которым я работаю, есть кеширующий Service Worker, который отлично подходит для его пользователей, но я не могу решить, следует ли мне оставить его включенным во время разработки или отключить?

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

Если я выключу его, он будет менее заметен для меня, и я не замечу так легко, когда сломаю его, не то, чтобы я когда-либо замечал.

Есть ли передовая практика/консенсус по этому поводу?


person Ray Foss    schedule 21.09.2016    source источник


Ответы (1)


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

Сказав это, и будучи постоянным пользователем сервисного работника, я рекомендую включить sw во время разработки.

  1. Вы должны избавиться от кешей, регулярно очищая локальное хранилище, чтобы проверять обновления ваших скриптов.
  2. На стороне сервера вы должны правильно включить ответы заголовков, чтобы уловить любую возможную ошибку сервера по его правильному ответу. Это правило де-факто при разработке. Локально вы можете перехватывать сообщения об ошибках, 500, 404, 200, любую ошибку, которую вы получаете в devTools.
  3. Проверьте сетевой транзит в devTools: вы можете проверить любой ответ сервера.
  4. Перехватывайте ответы сервис-воркеров на события. Поймай все, установка, активация, получение. все.

Наконец, да, включите сервис-воркеров во время разработки, если нет, вы можете пропустить какое-то поведение с ошибками, связанное с ними. И работайте с devTools, это необходимо, потому что это делает вашу продуктивность в миллион раз выше. DevTools — это гораздо больше, чем просто консоль, вот хорошая отправная точка.

И не забудьте прочитать документацию по MDN.

person digitai    schedule 21.09.2016
comment
Мой сервисный работник дает мне кешированную версию, если сервер отвечает 500 на запрос, поэтому, по сути, если у меня не открыты консоли и у меня есть кеш запроса, я не увижу ошибку. - person Ray Foss; 21.09.2016
comment
Как я уже писал в своем ответе, вы должны работать с консолью, вы должны установить заголовки ответа на стороне сервера, чтобы поймать любой ответ сервера и, наконец, очистить локальные кеши для проверки обновленных версий. - person digitai; 21.09.2016