Firebase Cloud Messaging с ServiceWorker в подкаталоге - не найден - PullRequest
0 голосов
/ 12 сентября 2018

У меня проблемы в проекте 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».

Спасибо.

...