上篇文章講了Blazor的兩種模式的區別及各自的使用場景,本篇就開始學習WebAssembly模式,本篇主要學習的是創建項目及認識項目結構:
- 創建項目
選擇Blazor應用
選擇WebAssemblyApp,並且勾選PWA,之后的文章會說到PWA
創建成功后,運行項目,成功運行
- 認識項目結構
項目結構
創建好的項目分成以上幾個區域,wwwroot,Pages,Shared,_Imports.razor,App.razor,Program,以下分別介紹下各個部分,這里是我個人的對這個項目的理解,有不對的歡迎指正。
Program
項目運行開始是從Program進來的,builder.RootComponents.Add<App>("app");這里的‘App’類 對應了App.Razor, 括號里的app 對應了 wwwroot下index.html里的<app>標簽。名稱要一致。index.html算是整個單頁應用最大的母版。
index.html
日常使用的通用的js都寫在這個index.html里
App.Razor
App.Razor里主要看一個地方就行,就是默認Layout的設置,這里默認的是MainLayout,如果Pages里的Razor 不做特殊聲明的話,就是默認使用這個。如果想使用別的,就可以代碼頭部加@layout LoginLayout (這里是舉例,不一定叫LoginLayout)
@page 代表的單頁應用里的頁面路徑
從代碼中可以看到大部分之前用js來做的這里用到了C#來寫了。比如這里的獲取天氣信息json數據的,這里用了HttpClient讀取。代碼很清晰,對於.net開發人員確實是很友好。
_imports.razor
_imports.razor里放了一些引用的命名空間。
以上來塊,整個頁面的結構是index.html->Layout->Page 一層層嵌套而成。頁面之間跳轉使用page里的@page來設置路徑。不同頁面想用不同的layout可以單獨設置,很多邏輯可以用C#來實現。這是默認項目給到的東西,下篇將會結合實際項目登錄功能講一個結合js使用的功能。
