PWA“路线”未定义

问题描述 投票:0回答:1

尝试创建一个非常简单的 ASP.NET core PWA,使用 .NET 8.0 的示例似乎并不多。

步骤如下:

  • 创建了一个全新的 ASP.NET core 应用程序。使用.NET 8.0。
  • 安装的dotnet包WebEssentials.AspNetCore.PWA
  • 添加了清单文件。
  • 在图像文件夹中添加了所需的两个图标。
  • 已添加
    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/

有人能够向我提供一些关于服务人员出了什么问题以及为什么路线未定义的线索吗?

c# asp.net .net asp.net-core progressive-web-apps
1个回答
0
投票

我的答案是手动加载清单文件:

程序.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" />
© www.soinside.com 2019 - 2024. All rights reserved.