尝试创建一个非常简单的 ASP.NET core PWA,使用 .NET 8.0 的示例似乎并不多。
步骤如下:
builder.Services.AddProgressiveWebApp();
应用程序运行,我可以选择从 Chrome 进行安装,这很棒。然而,服务人员很不高兴,给出了以下错误:
未捕获(承诺中)ReferenceError:路由未定义 在服务人员处:11:42
单击错误会突出显示以下 Service Worker 代码:
// Store core files in a cache (including a page to display when offline)
function updateStaticCache() {
return caches.open(version).then(function (cache) {
return cache.addAll([offlineUrl, { routes }]); // This line is highlighted.
});
}
基本上我使用了本指南,但使用的是 .net 8.0: https://www.c-sharpcorner.com/article/progressive-web-app-pwa-in-asp-net-core/
有人能够向我提供一些关于服务人员出了什么问题以及为什么路线未定义的线索吗?
我的答案是手动加载清单文件:
程序.cs:
// Register as a PWA application
builder.Services.AddProgressiveWebApp(new PwaOptions
{
RegisterServiceWorker = true,
RegisterWebmanifest = false, // (Manually register in Layout file)
Strategy = ServiceWorkerStrategy.NetworkFirst,
OfflineRoute = "Offline.html"
});
布局:
@*Manually register the PWA Manifest*@
<link rel="manifest" href="~/manifest.json" />