Unity HTML5 WebGL构建启动报错:无法解析Build/Pain.framework.js.br
Unity WebGL 预压缩文件加载报错解决方案
问题原因
浏览器的file://协议默认不支持加载brotli(.br后缀)、gzip(.gz后缀)格式的预压缩资源,该报错是直接双击打开构建出来的index.html文件触发的。
解决方案
方案1:临时测试快速解决
直接使用Unity自带的构建运行功能:
- 打开File → Build Settings,确认已经添加好所有场景、平台选择WebGL
- 点击右下角的
Build And Run按钮,选择构建输出文件夹,Unity会自动启动本地临时服务器打开项目,不会触发该报错。
方案2:自行搭建本地服务器加载
如果已经完成构建,不需要重新编译,可以手动启动本地服务器托管构建产物:
- 若已安装Node.js,打开构建产物根目录(包含index.html的文件夹),在终端执行:
npx http-server
执行完成后访问终端提示的本地地址(默认是http://localhost:8080)即可。 - 若已安装Python3,同目录下终端执行:
python -m http.server 8080
访问http://localhost:8080即可加载项目。
方案3:关闭预压缩(不推荐用于生产环境)
如果需要直接双击index.html打开,可以修改构建设置关闭压缩:
- 打开Edit → Project Settings → Player,切换到WebGL标签页
- 展开Publishing Settings配置项,将Compression Format选项修改为
Disabled - 重新构建项目即可直接用file协议打开,缺点是构建产物体积会明显增大,加载速度变慢,仅适合本地临时测试使用。
线上部署注意事项
如果要将项目部署到Nginx、Apache等生产服务器,需要额外配置响应头:
给
.br后缀的文件添加Content-Encoding: br响应头,给.gz后缀的文件添加Content-Encoding: gzip响应头,同时配置正确的MIME类型,.wasm文件的MIME类型需设为application/wasm,否则同样会触发加载错误。
内容的提问来源于stack exchange,提问作者Wded eff
相关产品推荐
相关产品推荐

