天天看點

預渲染 Blazor Wassembly 用戶端應用程式

雖然預渲染現在是伺服器端 Blazor 應用程式的預設值,用戶端 Blazor 應用程式也可以利用這一點。在這篇文章中,我将向您展示如何設定用戶端 Blazor 應用程式進行預渲染。

什麼是預渲染?

預渲染是一個在伺服器上編譯網頁的所有元素,并将靜态 HTML 提供給用戶端的過程。此技術用于幫助 SPA(單頁應用程式)改進其搜尋引擎優化(SEO)。另一個好處是站點的加載速度似乎要快得多。 這對 Blazor 應用程式意味着什麼是請求的頁面将在伺服器上生成并編譯為靜态 HTML。此靜态 HTML 将包括标準用戶端 Blazor 模闆中存在的檔案。當用戶端收到此靜态 HTML 時,它将照常處理和呈現。

預渲染 Blazor Wassembly 用戶端應用程式

應用程式将運作執行檔案時,dotnet運作時将與應用程式 dlls 一起下載下傳。此時,所有靜态預渲染的元素都将替換為互動式元件,應用程式将成為互動式元素。

預渲染 Blazor Wassembly 用戶端應用程式

現在,在應用程式可用之前,這還需要發生很多事情。但這一切都發生在很短的時間空間,對于大多數最終使用者是察覺不到的。 啟用預渲染模式 就不能把Blazor 部署為靜态檔案,适合使用asp.net core 宿主,因為它依賴.NET。

還有一點是需要考慮的是您必須管理任何 JavaScript 調用,以考慮預渲染。如果嘗試在預呈現的或元件的  方法中執行 JavaScript,則将發生異常。使用預渲染時,應将所有 JavaScript 互操作調用移動到生命周期方法。僅當頁面完全呈現後,才會調用此方法。

你可以在這裡找到一個完整的例子 https://github.com/chrissainty/ClientSideBlazorPrerendering

歡迎大家掃描下面二維碼成為我的客戶,為你服務和上雲

預渲染 Blazor Wassembly 用戶端應用程式