Unity3d 2020版本发布WebGL报错Uncaught SyntaxError: Invalid or unexpected token 和unityFramework is not...修正

问题描述

如题的问题是在Windows项目发布WebGL时遇到的,Unity3d的版本是2020.3.12f1c1,部署平台是IIS,运行浏览器是Chrome。如果是其它的版本的Unity,该方法可能不适用。
具体表现是打开WebGL网页后加载至8-90%时卡住,而且不会再提升加载进度:
在这里插入图片描述

F12打开Console窗口报错:
Uncaught SyntaxError: Invalid or unexpected token (at Build.framework.js.gz:1:1)
Uncaught ReferenceError: unityFramework is not defined at r.onload (Build.loader.js:1:3167)

完整报错截图:
在这里插入图片描述

刚开始怀疑的是工程中使用的插件或者dll等模块有影响,于是我进行了一个空项目上的测试,还是一样的情况,无法正常启动至运行界面。

解决方法

禁用压缩格式(Compression Format:Disabled):
在这里插入图片描述

设置完成后,再次打包放到服务器运行,还是有很多报错:
404 (Not Found);
Build.loader.js:1 wasm streaming compile failed: TypeError: Failed to execute ‘compile’ on ‘WebAssembly’: HTTP status code is not ok.
both async and sync fetching of the wasm failed
完整报错:
在这里插入图片描述

主要是有两个文件找不到的问题(404),可以先进行修复,尝试在MINE类型中添加两个文件类型。

打开IIS的MIME类型进行添加,左侧选中 > 点击“MIME类型”:
在这里插入图片描述

空白处右键“添加”:
在这里插入图片描述

添加“.data”–“application/data”:
在这里插入图片描述

添加“.wasm”–“application/wasm”:
在这里插入图片描述

如果有其它MIME类型自行添加即可。

其它Web服务器可以自行搜索进行配置即可。

如上的配置修改后,启动时Console窗口也不会有相关的报错,程序顺利加载进入运行场景:
在这里插入图片描述

参考解决方法:https://forum.unity.com/threads/uncaught-referenceerror-unityframework-is-not-defined-at-htmlscriptelement-script-onload.970611/

猜你喜欢

转载自blog.csdn.net/qq_33789001/article/details/128900799
今日推荐