При попытке создать очень простое PWA с ядром ASP.NET, похоже, не так уж много примеров использования .NET 8.0.
Шаги следующие:
builder.Services.AddProgressiveWebApp();Приложение запускается, и я получаю возможность установить его из Chrome, и это здорово. Однако сервис-работник недоволен и выдает следующую ошибку:
Неперехваченный (в обещании) ReferenceError: маршруты не определены у сервисника: 11:42
При нажатии на ошибку выделяется следующий код сервисного работника:
// 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" />
@Svenmarim Извините, понятия не имею, просто когда я внес изменения, все, казалось, сработало. Возможно, я нечаянно изменил что-то еще?
Но манифест — это не тот файл, в котором ошибка, верно? это serviceworker.js. Как загрузка манифеста вручную исправляет ошибку «маршрут» не определен?