Служебный работник не найден IONI C 4 - PullRequest
0 голосов
/ 04 марта 2020

Я развернул pwa версию моего приложения ioni c 4. Это прекрасно работает, но есть проблема с моим приложением. Если я добавлю свое приложение на домашний экран android, в правом нижнем углу значка приложения появится небольшой значок браузера, например, значок Chrome. Я видел эту ссылку:

Как удалить Chrome Lo go из ссылки на главном экране приложения PWA (Android O Preview)

И затем проверил мой на вкладке приложения в инструментах разработчиков Google, и я увидел в разделе «Манифест» нестабильность со значком предупреждения, который показывает мне следующее сообщение: «Не найден соответствующий работник сервиса. Возможно, вам придется перезагрузить страницу или проверить, что работник сервиса для текущей страницы также управляет стартовым URL из манифеста "

Даже если в папке находится мой сервисный работник, кажется, что сервисный работник не найден приложением!

Не могли бы вы помочь мне преодолеть это? проблема?

ОБНОВЛЕНИЕ:

Я обнаружил, что эта проблема связана с моей инициализацией базы данных loki js. Если я прокомментирую инициализацию базы данных, сервисный работник будет зарегистрирован. Я не понимаю, почему это происходит. Значит ли это, что loki js не работает с сервисным работником?

для получения дополнительной информации, это мой db init внутри сервиса loki js:

initDB = () => {
return new Observable((subs) => {
  const adapter = new LokiIndexedAdapter('roxanne', { closeAfterSave: true });
  this.db = new Loki('roxanne_db', {
    autosave: true,
    adapter: adapter
  });
  this.db.loadDatabase({}, (err) => {
    if (err) {
      console.log(err);
    } else {
      console.log('db was initialized');
      subs.next();
    }
  });
});

И я подписываюсь на это в моем app.component.ts вот так:

this.lokiService.initDB().subscribe(result => {
    console.log(result);
    // this.lokiService.checkDbCollections();
  }, err => console.log(err));

Есть ли проблема с моим кодом или мне нужно рассмотреть другую БД для моего проекта?

Спасибо

...