路由器处于历史模式时(基于Vue CLI 3的项目),PWA不加载

问题描述 投票:2回答:2

我有一个基于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");

但它仍然无济于事。即使应用程序在我的移动设备的主屏幕上成功注册,它也不会运行,除非我将路由更改回哈希模式。

有没有人知道我可能会缺少什么?

谢谢

vue.js progressive-web-apps vue-cli workbox workbox-webpack-plugin
2个回答
3
投票

我有同样的问题,我通过在router.js的末尾添加它来解决它

{
  path: '*', // or '/index.html'
  beforeEnter: (to, from, next) => {
    next('/')
  }
}

0
投票

试试/index.html而不是index.html

© www.soinside.com 2019 - 2024. All rights reserved.