4

Я пытаюсь начать работу с отладкой моего приложения Polymer. У меня есть ручная работа, копируя то, что я думаю, PolymerCLIPolymer init.Сотрудник по обслуживанию и обслуживанию полимеров

Я не уверен, что загружает сервисного работника. По умолчанию для разработки только console.info(), заявив, что он был отключен для разработки.

Когда я использую Polymer serve для обслуживания своего приложения на localhost: 8080, я получаю сообщение console.info, несмотря на то, что там нигде нет, где я действительно загружаю файл service-worker.js. Поскольку приложение намного сложнее (и я пытаюсь использовать http/2), у меня есть собственный сервер на основе узлов. Когда я запускаю это, а затем извлекаю свое приложение в браузере, service-worker.js не загружается и не запускается.

Что такое Polymer serve, чтобы включить его?

+0

Какой шаблон 'полимера init' вы используете? Например. «приложение для создания полимеров», «template init app-drawer-template» и т. д. –

+0

Я вручную создала приложение, так как оно существовало до создания полимера cli. Я создал стандартное приложение в альтернативном каталоге и скопировал соответствующие файлы (service-worker.js, sw-precache-config.js) и использовал остальные файлы в качестве руководства для редактирования того, что у меня уже было. – akc42

ответ

5

Возможно, другое приложение, использующее один и тот же источник (например, localhost:8080), зарегистрировало и установило сервисного работника.

Откройте панель приложений в Chrome Canary, чтобы проверить/удалить служебного работника.

enter image description here

Если вы не можете получить доступ к Chrome Canary, откройте chrome://serviceworker-internals, найдите область, соответствующую ваше приложение, и нажмите Разрегистрировать. Также есть опция в верхней части serviceworker-internals, которая позволяет открыть окно DevTools и приостановить JS на SW. Включите этот параметр, и вы сможете увидеть, какой SW работает.

+0

Возможно, это правда, хотя я не уверен, как проверить, потому что у меня нет канарейки (я запускаю Debian). Я создал фиктивное приложение с полином init, чтобы посмотреть, что он будет делать. Я также создал копию приложения магазина Google, чтобы посмотреть на это. Один из них, возможно, сделал это, но почему консольный журнал отвечает тем, что находится в моем '/ service-worker.js' – akc42

+0

@ akc42 проверить рабочий процесс внизу моего отредактированного ответа –

+0

Спасибо. Я «думаю», я понял это сейчас. Похоже, что код в фиктивном приложении зарегистрировал url '/ service-worker.js', когда он был расположен в localhost: 8080. Этот код рабочего сотрудника идентичен коду в моем приложении, потому что я просто скопировал его, поэтому невозможно сказать, какая версия используется. Единственная головоломка, которую я сейчас имею в виду, это то, что я думал, что рабочие службы только https, и это было активировано на localhost http connection. – akc42