Blazor WASM 首次加载慢的主因是需一次性下载约2MB的.NET运行时、程序集及依赖项;优化聚焦减体积、提资源获取速、促首屏快显,含Brotli压缩、IL裁剪、预加载关键资源、延迟加载非首屏程序集、启动画面与PWA缓存。
Blazor WASM 首次加载慢,核心原因是浏览器得一次性下载 .NET 运行时(约 2MB)、所有程序集和依赖项。优化目标很明确:减小下载体积、加快关键资源获取、让首屏更快可见。
这是见效最快的基础操作:
true ,自动移除未调用的代码true ,生成时自动压缩 .dll 和 .wasm 文件别等启动时再慢慢拉,提前告诉浏览器哪些文件最急:
index.html 的 里加预加载标签:
blazor.webassembly.js 和 dotnet.wasm 是首批加载项,能明显缩短白屏时间把“用不到”的功能拆出去,用户点到哪再下哪:
的程序集:
Router 的 OnNavigateAsync 方法,在跳转前动态加载对应程序集用户感知速度,不只看真实耗时,更看“有没有在动”:
wwwroot/index.html),加一个带进度条或动画的欢迎界面blazorStart 事件,或读取 blazor.boot.json 中的资源列表做预加载统计基本上就这些。不复杂但容易忽略——压缩没开、预加载漏写、懒加载配置错位置,都会让优化效果打折扣。