Я устанавливаю систему уведомлений, которая называется «Подписчики», с проектом, созданным с помощью приложения «Реагировать». Они просят разработчика загрузить сервисного работника и включить его в корневой каталог проекта. Раньше мне никогда не приходилось устанавливать / использовать сервисного работника, что, скорее всего, является причиной моего недоразумения.
Как добавить сервисного работника в корневой каталог проекта React? В инструкциях сказано, что работник сервиса должен отображаться в корневом каталоге как https://yoursite.com/firebase-messaging-sw.js.. Чтобы зарегистрировать этот URL, я включил работника сервиса в src / index.js:
import Environment from './Environment'
export default function LocalServiceWorkerRegister() {
const swPath = `${Environment.getSelfDomain()}/firebase-messaging-sw.js`;
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register(swPath).then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}
}
На производстве я получаю ошибку 404. Я попытался поместить файл firebase-messaging-sw.js в корневой каталог и в папку src. Одна и та же ошибка каждый раз.
Вот инструкции от подписчиков:
https://subscribers.freshdesk.com/support/solutions/articles/35000013054-diy-installation-instructions