我正在調查 Blazor WebAssembly 是否是即將推出的漸進式 Web 應用程式 (PWA) 專案的良好架構。
在 Visual Studio 2022 中,我創建了一個“Blazor Web Assembly App”,并檢查了“.NET 6.0 LTS”、“為 HTTPS 配置”、“ASP.NET Core Hosted”和“Progressive Web Application”。然后我“F5”以除錯模式運行專案。
然后在瀏覽器中(我使用的是 Chrome 101.0.4951.41,但 Edge 做同樣的事情),按 F12 轉到開發人員工具并選擇應用程式選項卡。我期待看到已安裝 Service Worker,但狀態為“#0 正在嘗試安裝”。
我對 PWA 有點熟悉,但我以前沒有見過這個,而且很困惑。
我注意到,當開發人員工具打開并重繪 頁面時,它一直轉到“源”選項卡。它顯示“dotnet.6.0.4.slzlks63yx.js”和我通常忽略的 WASM/.Net 噪音。

然后我點擊漂亮的列印“{}”,它會用“除錯器”顯示以下內容;行突出顯示...

根據如何完全忽略 chrome 中的“除錯器”陳述句,我試圖阻止 Chrome 在 Debugger 陳述句處停止? 但這沒有任何區別。
我已經關閉了熱多載,但這同樣不起作用。
起作用的是,如果您在沒有除錯 (Ctrl-F5) 的情況下啟動應用程式。服務作業者按預期啟動。
這是一個錯誤嗎?這是預期的行為嗎?難道我做錯了什么?
提前致謝。
uj5u.com熱心網友回復:
默認情況下,只能使用已發布的版本安裝 Blazor Wasm 的 PWA 端。這是為了防止除錯錯誤代碼,因為它使用快取元素而不是新編譯的代碼。
如果你查看你的專案,你會發現 service-worker.js 檔案,并與它嵌套,你有一個 service-worker.published.js 檔案,其中包含 PWA 快取安裝所需的所有魔法。您可以將其移動到普通檔案中...但是如果您使用它,請注意快取重繪 或缺少快取可能導致的潛在錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/467282.html
