Vue Service Worker не работает на всех страницах - PullRequest
1 голос
/ 23 октября 2019

Я установил PWA в мое одностраничное приложение Vue, но когда я отключаю свое интернет-соединение, работает только домашняя страница. Другие маршруты не работают. Google Chrome просто показывает динозавра и «Нет интернета».

Я попытался настроить параметры развертывания в Netlify, но это не та проблема, о которой я догадывался.

Я уже добавил файл _redirects в папку dist

# Netlify settings for single-page application
/* /index.html 200

Вот пример моего service-worker.js в моей папке dist.

importScripts("/precache-manifest.randomstrings123.js", "https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js");

workbox.core.setCacheNameDetails({ prefix: "app-name" });

self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.suppressWarnings();
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});

const bgSyncPlugin = new workbox.backgroundSync.Plugin('queueExample', {
    maxRetentionTime: 48 * 60 // Retry for max of 24 Hours
});
workbox.routing.registerRoute(
    'https:/api.herokuapp.com/api/v1/add/item',
    workbox.strategies.networkOnly({
        plugins: [bgSyncPlugin]
    }),
    'POST'
);

Мой ожидаемый вывод в Netlify состоял в том, что даже подключение к Интернету недоступно на странице маршрута / формы formмое приложение все равно будет загружено сервисным работником.

...