asp.net-core-mvc - 使用 WebEssentials.AspNetCore.PWA 注册 ServiceWorker 失败(404 错误)
问题描述
我最近一直在将 WebEssentials.AspNetCore.PWA 添加到我的几个站点中,并且一切都很容易,(公平地说,它很容易安装)。
但是一个站点让我非常头疼,并且总是报告以下错误:
Uncaught (in promise) TypeError: Failed to register a ServiceWorker for scope ('https://dawson-floridavilla.co.uk/') with script ('https://dawson-floridavilla.co.uk/serviceworker'): A bad HTTP response code (404) was received when fetching the script.
我还收到 manifest.webmanifest 的 404 错误。
如果我尝试导航到https://dawson-floridavilla.co.uk/serviceworker我会收到 404 错误,其中其他站点都显示 ServiceWorker JavaScript 代码。
该站点不是很复杂,因此我不确定要剥离什么来测试任何不兼容性,我尝试/实现的所有四个站点都是在 Windows 10 VS Studio Dev Server 或 Debian 上运行的 ASP.NET Core 3.1 10 生产服务器。
有没有其他人有类似的问题?我认为该包正在尝试运行,因为它添加了 serviceworker 脚本和 webmanifest 的行,但两者都返回 404 错误,如上所述。
解决方案
在 Github 上提交问题后,我意识到这个站点纯粹是 Razor 页面,而我的其他站点是 MVC(用于 API 路由)和 Razor 页面的混合。
这意味着其他站点在 ConfigureServices 和 EndPoint Routing 中添加和映射了控制器,但在此项目中没有,这是包需要映射附加代码的东西。
为了社区的利益,我在 StackOverflow 和 Github 上发布了这篇文章,主要是因为微软正在推广 Razor Pages 作为 MVC 的前进方向,其他人将来可能会遇到同样的问题。
推荐阅读
- c++ - 带有等式语句的 C++ 三元运算符
- tensorflow - 从背景噪声中检测不同的标签
- python - Pandas 列中特定值的滚动计数频率
- apache-spark - 使用pyspark将两个字符串列值连接到整数数组
- python - 将 Dash Plotly 表中的数据发送到 python 函数
- java - Spring Boot jar 文件可重用(本地 maven 存储库)
- python - 如何更改 Tkinter 按钮颜色
- java - 二进制 XML 文件第 13 行:二进制 XML 文件第 13 行:膨胀类错误
- flutter - 如何使用芯片创建可滚动的 listView
- postgresql - 我正在尝试使用 CloudFormation 创建 Postgres DB