如何发布Blazor WebAssembly应用并移除不必要的.br、.gz文件?
Blazor WebAssembly 文件系统发布部署到cPanel全指南
相关参考界面
你需要通过文件系统方式发布Blazor WebAssembly应用并部署到cPanel,相关界面参考如下:
你询问的配置项选择对应界面如下:
你首次发布得到的输出文件列表如下:
发布配置选择建议
- 配置:默认选
Release即可,会自动做代码优化,打包体积远小于Debug版本 - 部署模式:
- 选「依赖框架」:要求cPanel服务器已经安装对应版本的.NET运行时,优势是发布包体积小
- 选「独立部署」:会把运行时一起打包,不需要服务器单独安装.NET,适合cPanel共享主机无法自定义安装运行时的场景,稳定性更高,缺点是发布包体积更大
- 目标运行时:不确定服务器架构的话选「可移植」即可,确认cPanel服务器是Linux x64架构可以选
linux-x64,性能会稍好 - 可选优化项:可以勾选「启用ReadyToRun编译」,提前完成部分JIT编译,提升应用首次加载速度
禁用.br/.gz压缩文件生成方法
Blazor WebAssembly发布时默认会自动生成Brotli(.br)和Gzip(.gz)两种格式的压缩文件,用于提升生产环境加载速度,如果不需要生成这两类文件,只需修改Blazor WASM项目的.csproj配置文件:
在项目文件的根<PropertyGroup>节点中添加如下配置:
<BlazorEnableCompression>false</BlazorEnableCompression>
保存配置后重新发布,就不会再生成后缀为.br和.gz的压缩文件。
部署到cPanel操作步骤
- 发布完成后,将所有发布输出的文件通过FTP或者cPanel自带的文件管理器上传到对应站点的根目录,默认路径是
public_html文件夹;如果需要部署到子站点,上传到对应子目录即可 - 配置SPA路由规则:Blazor WebAssembly是单页应用,直接部署后刷新非首页路径会出现404错误,需要在站点根目录下新建或编辑
.htaccess文件,添加如下伪静态规则:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule>
如果部署到子目录(例如/app),需要将规则修改为:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /app/ RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /app/index.html [L] </IfModule>
- 配置完成后直接访问站点域名即可正常加载Blazor应用。
内容的提问来源于stack exchange,提问作者Franco
相关产品推荐
相关产品推荐

