雖然預渲染現在是伺服器端 Blazor 應用程式的預設值,用戶端 Blazor 應用程式也可以利用這一點。在這篇文章中,我将向您展示如何設定用戶端 Blazor 應用程式進行預渲染。
什麼是預渲染?
預渲染是一個在伺服器上編譯網頁的所有元素,并将靜态 HTML 提供給用戶端的過程。此技術用于幫助 SPA(單頁應用程式)改進其搜尋引擎優化(SEO)。另一個好處是站點的加載速度似乎要快得多。 這對 Blazor 應用程式意味着什麼是請求的頁面将在伺服器上生成并編譯為靜态 HTML。此靜态 HTML 将包括标準用戶端 Blazor 模闆中存在的檔案。當用戶端收到此靜态 HTML 時,它将照常處理和呈現。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5gDN5MjN5QTOtcjMzMzM5ETMxUTM2ADMyAjMtATM18CX2ADMyAjMvwFMxUzLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
應用程式将運作執行檔案時,dotnet運作時将與應用程式 dlls 一起下載下傳。此時,所有靜态預渲染的元素都将替換為互動式元件,應用程式将成為互動式元素。
現在,在應用程式可用之前,這還需要發生很多事情。但這一切都發生在很短的時間空間,對于大多數最終使用者是察覺不到的。 啟用預渲染模式 就不能把Blazor 部署為靜态檔案,适合使用asp.net core 宿主,因為它依賴.NET。
還有一點是需要考慮的是您必須管理任何 JavaScript 調用,以考慮預渲染。如果嘗試在預呈現的或元件的 方法中執行 JavaScript,則将發生異常。使用預渲染時,應将所有 JavaScript 互操作調用移動到生命周期方法。僅當頁面完全呈現後,才會調用此方法。
你可以在這裡找到一個完整的例子 https://github.com/chrissainty/ClientSideBlazorPrerendering
歡迎大家掃描下面二維碼成為我的客戶,為你服務和上雲