vue.js - Vue Cli 404 on wwwroot/index.html 使用 PWA 出错
问题描述
我刚刚将一个应用程序移到了 vue cli,但我在让 PWA 工作时遇到了问题。当它试图加载它时出现控制台错误
未捕获(承诺)坏预缓存响应:坏预缓存响应 :: [{"url":"/wwwroot/index.html? WB_REVISION =xxxxxxx","status":404}]
事情是我不确定这个错误来自哪里。实际的父亲加载正常,所有断言都正常,但是 PWA index.html 似乎是从错误的地方加载的。它在 /index.html 而不是 /wwwrooot/html。我不确定为什么它试图从这里加载。这就是 vue.config 的样子
pwa: {
name: 'app Portal',
themeColor: '#CC0001',
msTileColor: '#CC0001',
appleMobileWebAppCapable: 'yes',
appleMobileWebAppStatusBarStyle: 'black',
workboxOptions: {
exclude: /\.cshtml$/,
/*
docs: https://developers.google.com/web/fundamentals/primers/service-workers/lifecycle#skip_the_waiting_phase
a new service worker does not serve pages until the old one releases control
this is called the waiting phase
skipWaiting means the new one immediately takes control. this may cause issues with people still using your application
*/
skipWaiting: true,
},
},
``
为什么 PWA 似乎从错误的位置加载 index.html 有什么想法吗?
解决方案
我使用 pwa webpack 配置navigatefallback
来解决此问题,请参阅:https ://developers.google.com/web/tools/workbox/modules/workbox-webpack-plugin#generateSW-navigateFallback
在 vue 路由器上启用历史模式时 pwa 也可能会失败:
这里有一些问题,我认为会让你朝着正确的方向前进:
路由器处于历史模式时不加载 PWA(基于 Vue CLI 3 的项目)
和
推荐阅读
- amazon-web-services - 适用于 Python 示例项目的 AWS 开发工具包
- sql-server - SQL Server 触发器插入(更新插入的行)
- android - 空对象引用上的 java.lang.String android.content.Context.getPackageName()'
- python - 对给定行,pandas 跨列的分类特征标签求和
- listview - 当应用程序在 tabbarview 内的 listview 页面中启动时,一些颤动的小部件最初没有显示
- deployment - 仅在特定文件夹中发生更改时从 Appveyor 部署到 Nuget
- android - RecyclerView 未在方向更改时恢复
- angular - 'of' from Observables
- python - 在python中计算骰子的掷数
- c# - 优化,从内存中填充数据