У меня проблемы в проекте PWA для регистрации работника службы firebase-messaging-sw.js
Проект использует:
| угловой / сердечник: 6.1.1 | база огня: 5.4.2 | угловой / огонь: 5.0.0 | ионный / угловой: 4.0.0-бета.7 |
В localhost все работает отлично.
Проблема в том, что на сервере я не могу поместить PWA в сайт (root), но в подкаталог.
Итак, в сборке используется baseHref: / pwa например.
На сайте (производство) он ищет работника службы по умолчанию firebase-messaging-sw.js на example.com/, но PWA работает на example.com/pwa/ и Не могу добавить работника сервиса в корень.
Есть ли решение?
Я попытался зарегистрироваться в app.module.ts
ServiceWorkerModule.register('firebase-messaging-sw.js');
Я пытался использовать:
navigator.serviceworker.register('firebase-messaging-sw.js')
.then ((registration) => {
messaging.useServiceworker(registration);
});
но во всех случаях он пытается извлечь в корне, а не в подкаталоге.
Работа сервиса создана правильно и существует в domain.com/pwa/, она уже настроена в файле angular.json.
Сообщение:
Не удалось зарегистрировать / обновить ServiceWorker для области «subdomain.example.com/firebase-cloud-messaging-push-scope»: сбой загрузки со статусом 404 для сценария «subdomain.example.com/firebase-messaging-sw.js».
Спасибо.