Я пытался реализовать веб-воркера в проекте backbone.js и получил сообщение об ошибке src / js / worker.js 404 (не найдено)
Я создал файл worker.js, и у меня есть код ниже в файле
this.addEventListner('message', function(e){
console.info('Message received: ', e.data);
});
И приведенный ниже код отправляет сообщение работнику
let worker = new Worker('src/js/worker.js')
worker.postMessage('hello');
Может кто-нибудь дайте мне знать, что я делаю не так? Спасибо!
@Xufox, да, URL запроса совпал с моими ожиданиями






Похоже, вы пытаетесь загрузить сценарий сервисного работника из небезопасного места. Я рекомендую вам обслуживать страницы разработки из http://localhost, чтобы сделать первые шаги с работниками службы поддержки. Вы найдете отличный «ориентир» на веб-сайте "Готов ли ServiceWorker?".
Убедитесь, что вы:
localhost.Вы не сможете загрузить скрипт сервис-воркера из протоколов http или https без действующего сертификата. Обслуживание вашей страницы с http://localhost является исключением; localhost считается безопасным, чтобы облегчить разработку. См. Также полный список "безопасных" источников, реализованных в Chrome.
Вы получите ту же ошибку, если файл отсутствует или браузер не может загрузить его по протоколу, который вы использовали:
A bad HTTP response code (404) was received when fetching the script.
Failed to load resource: net::ERR_INVALID_RESPONSE
ServiceWorker registration failed: TypeError: Failed to register a ServiceWorker:
A bad HTTP response code (404) was received when fetching the script.
Если сертификат SSL вашего веб-сайта недействителен, включая самозаверяющие сертификаты, вы получите следующую ошибку:
An SSL certificate error occurred when fetching the script.
Failed to load resource: net::ERR_CERT_DATE_INVALID
ServiceWorker registration failed: DOMException: Failed to register a ServiceWorker:
An SSL certificate error occurred when fetching the script.
Если вы используете самозаверяющий сертификат, вы можете установите SSL-сертификат вашего «поддельного» ЦС в качестве доверенного корневого центра сертификации в своем веб-браузере. или OS. Браузер больше не будет запрашивать исключение при доступе к вашей странице, и сервис-воркер будет хорошо загружаться.
Если вы используете Chrome, вы можете использовать параметры --unsafely-treat-insecure-origin-as-secure и --allow-insecure-localhost, чтобы принудительно настроить браузер на загрузить скрипт сервис-воркера из незаконных источников. Но делайте это только в своей среде разработки. Не на производственном веб-сайте.
Когда вы открываете инструменты разработчика и просматриваете вкладку «Сеть», соответствует ли запрашиваемый URL-адрес вашим ожиданиям?