在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