深入浅出Blazor webassembly之一种简单的部署方法

在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\_frameworklazor2app.dll"

 如果是subdirectory子目录形式, 还可以加上 --pathbase="/CoolApp" 参数

可以看出下载资源减少到 6.1MB.

=====================

更多参考

=====================

更多部署优化, 可参考 https://www.meziantou.net/optimizing-a-blazor-webassembly-application-size.htm

原文地址:https://www.cnblogs.com/harrychinese/p/blazor_depoly.html