在Blazor WebAssembly開發模式下, 瀏覽器一般需要下載多達10M的資源, 主要是 .net 的dll 文件, 即使是在企業局域網內訪問速度也不快. 發布模式可以明顯減小資源文件的大小.
這里介紹使用官方提供的 blazor-devserver.exe, 作為企業內的部署服務器, 主要優點有:
⒈ 使用非常方便
2. 支持url rewrite, 以模版項目為例, counter 頁面地址http://localhost:5000/counter , 如果部署到 vs code 的 live server插件下, 直接訪問 counter 頁面, 會報 404 Get 錯誤, 必須先訪問根地址, 然后導航到 counter頁面才行. 而使用 blazor-devserver.exe , 就可以直接訪問 counter 頁面.
如果是面向互聯網的blazor wsam, 還是推薦 nginx 服務器, 參考 https://www.endycahyono.com/article/hosting-blazor-webassembly-in-nginx
假設項目名為 blazor2app , 完整步驟如下:
1. 進入項目根目錄, 使用發布命令進行編譯 , 按照 release 配置模式編譯
dotnet publish -c Release
加上 Release 選項后, 進入publish 輸出目錄, 可以看到wwwroot目錄,
wwwroot目錄下有多個子目錄, 其中文件會有壓縮版和非壓縮版本
2. 命令行 cd 到 publish 目錄, 然后啟動 blazor-devserver
blazor-devserver.exe serve --applicationpath ".\wwwroot\_framework\blazor2app.dll"
如果是subdirectory子目錄形式, 還可以加上 --pathbase="/CoolApp" 參數
可以看出下載資源減少到 6.1MB.
=====================
更多參考
=====================
更多部署優化, 可參考 https://www.meziantou.net/optimizing-a-blazor-webassembly-application-size.htm