PWA не загружается, когда маршрутизатор находится в режиме истории (проект на основе Vue CLI 3) - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть приложение на основе Vue CLI 3, которое я хотел бы использовать в качестве PWA.Мне нужно, чтобы он работал в режиме истории, потому что хэш вмешивается в перенаправления, которые я делаю как часть процесса аутентификации на основе OAuth.

Когда маршрутизация находится в режиме хеширования, удается нормально загрузиться как PWA,Как только я изменю режим на «историю», установленная мной PWA больше не будет загружаться - вместо этого я получаю белый экран.Я проверил версию браузера, и она все еще работает нормально (я настроил запасной вариант на моем сервере NGINX для index.html).Сначала я использовал настройки по умолчанию, предоставляемые проектом vue CLI и плагином PWA.Проведя некоторые исследования, я добавил в свой vue.config.js следующее:

pwa: {                     
  workboxOptions: {
    skipWaiting: true,
    navigateFallback: 'index.html'
  }
}

и увидел, что действительно добавлено следующее в service-worker.js:

workbox.skipWaiting();    
...
workbox.routing.registerNavigationRoute("index.html");

но это все равно не помогло.Несмотря на то, что приложение успешно регистрируется на домашнем экране моего мобильного устройства, оно просто не запустится, если я не верну маршрутизацию обратно в режим хеширования.

Кто-нибудь знает, что я могу пропустить?

Спасибо

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

У меня та же проблема, я решил ее, добавив в конец моего router.js

{
  path: '*', // or '/index.html'
  beforeEnter: (to, from, next) => {
    next('/')
  }
}
0 голосов
/ 10 января 2019

Попробуйте /index.html вместо index.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...