使用 WebEssentials.AspNetCore.PWA 将 PWA 集成到 .NET Web 应用程序时,ser



我正在尝试使用 WebEssentials.AspNetCore.PWA 将 PWA 集成到我的 .NET Web 应用程序中。

我正在按照本教程 https://medium.com/beginners-guide-to-mobile-web-development/introduction-to-pwa-in-asp-net-core-application-da96c7cc4918

我已经完成了本教程中提到的所有操作。但是我收到以下错误

Uncaught (in promise) TypeError: Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetching the script.

当我查看WebEssentials.AspNetCore.PWA的文档时:https://github.com/madskristensen/WebEssentials.AspNetCore.ServiceWorker]2

应该在标签上方添加以下行</body>

<script>'serviceWorker'in navigator&&navigator.serviceWorker.register('/serviceworker')</script>

而不是这条线,我的有以下行

<script nws-csp-add-nonce='true'>'serviceWorker'in navigator&&navigator.serviceWorker.register('~/serviceworker')</script>

如您所见,我的服务工作者的路径是错误的('~/服务工作者'(。如何修复服务工作线程的此路径错误?

由于波浪号~而失败

解决方法如下:

禁用注册服务工作进程和清单:

services.AddProgressiveWebApp(new PwaOptions
{
RegisterServiceWorker = false,
RegisterWebmanifest = false,
OfflineRoute = "offline"
});

然后,您可以在_Layout中手动添加它们(其中manifest.webmanifestwwwroot下的webmanifest.json文件(

<meta name="theme-color" content="#FFFFFF" />
<link rel="manifest" href="/manifest.webmanifest" />

最后添加服务工作线程

<script>'serviceWorker' in navigator && navigator.serviceWorker.register('/serviceworker')</script>

相关内容

最新更新