我有一个基于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");
但它仍然无济于事。即使应用程序在我的移动设备的主屏幕上成功注册,它也不会运行,除非我将路由更改回哈希模式。
有没有人知道我可能会缺少什么?
谢谢
我有同样的问题,我通过在router.js的末尾添加它来解决它
{
path: '*', // or '/index.html'
beforeEnter: (to, from, next) => {
next('/')
}
}
试试/index.html
而不是index.html
。