Как я могу хранить данные POST с @ angular / pwa в angular 8 в автономном режиме и обновлять их на сервере при подключении к сети? - PullRequest
0 голосов
/ 26 сентября 2019

Я пытался заставить мое приложение Angular работать полностью автономно.Это означает, что я хочу, чтобы все мои запросы кэшировались, включая запросы POST на IndexedDB через работника службы.

Я установил пакет @ angular / pwa для реализации автономной функциональности.Пока что приложение может загружаться, когда я не в сети, и оно также кэширует все запросы GET из приложения.Но это не кеширование POST запросов (что ожидается).

Поэтому я попытался внедрить пользовательский сервисный работник для своей работы.

Я создал 2 новых файла

  1. sw-master.js

  2. sw-sync.js

Внутри sw-master.js

importScripts('./ngsw-worker.js');
importScripts('./sw-sync.js');

Внутри sw-sync.js

(function () {
    'use strict';

    self.addEventListener('fetch', (event) => {
        console.log(event.request);
    });
});

Внутри app.module.ts вместо этого

ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }),

Я положил

ServiceWorkerModule.register('sw-master.js', { enabled: environment.production }),

Но console.log внутри события sw-sync.js -> fetch не работает.Я предполагаю, что это потому, что в ngsw-worker.js есть событие fetch, которое было сгенерировано angular при компиляции.

Как я могу решить эту проблему?Заранее спасибо.

...