unity打包的WebGL部署到IIS问题

部署之后会出错,我遇到的有以下几种;

进度条卡住不动

明明已经部署到了IIS上,为什么浏览网页的时候还是过不去或者直接报错。

进度条卡住不动的问题其实就是wasm和data的错误。

此时在浏览器上按F12进入开发者模式查看错误(下图是一个没错误的图,错误都被我解决了找不到报错的图了)

如果是wasm的错误和data的错误则直接去IIS的网站里找到MIME打开:

然后在里面添加内容为.wasm,下面那行填application/wasm

注意前一行是有一个点的,后面的wasm前没有点。如下图

data文件的报错也是如法炮制。之后再启动就会解决这个问题了。


关于webconfig文件

我使用2020版本发布WEBGL后根本不用web.config这个文件,只要部署到IIS里就可以看了,当然上面一步MIME的添加是需要的,若是没有MIME的添加即使有web.config这个文件也是无法成功预览的。

但是2022版本发布的同样的网页就必须要用到web.config文件了。web.config放到与index.html同级目录就可以了,目录如下图:

web.config配置文件完整内容如下:

cs 复制代码
<?xml version="1.0" encoding="utf-8"?>
<configuration>  
  <system.webServer>
    <httpProtocol>
      <!-- 允许跨域配置 -->
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="X-Requested-With,Content-Type,Authorization" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE,OPTIONS" />
        <add name="Access-Control-Allow-Credentials" value="true" />
      </customHeaders>
    </httpProtocol>
        <staticContent>
            <remove fileExtension=".mem" />  
            <remove fileExtension=".data" />  
            <remove fileExtension=".unity3d" />  
            <remove fileExtension=".jsbr" />  
            <remove fileExtension=".membr" />  
            <remove fileExtension=".databr" />  
            <remove fileExtension=".unity3dbr" />  
            <remove fileExtension=".jsgz" />  
            <remove fileExtension=".memgz" />  
            <remove fileExtension=".datagz" />  
            <remove fileExtension=".unity3dgz" />  
            <remove fileExtension=".json" />  
            <remove fileExtension=".unityweb" />  
           
            <mimeMap fileExtension=".mem" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".data" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".unity3d" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".jsbr" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".membr" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".databr" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".unity3dbr" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".jsgz" mimeType="application/x-javascript; charset=UTF-8" />  
            <mimeMap fileExtension=".memgz" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".datagz" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".unity3dgz" mimeType="application/octet-stream" />  
            <mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" />  
            <mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />  
        </staticContent>
  </system.webServer>
</configuration>

当然2022版本发布后IIS里的MIME也是一样要添加的。


可以选择其他服务部署

有个超级简单的方式预览就是不用IIS,用Tomcat就不会有这些问题了,还有个更简单的方式就是去VScode里下载一个插件:live server。把网站放进来,就可以直接预览了,超级好用。

相关推荐
图导物联1 天前
基于WebGIS技术的校园地图导航系统架构与核心功能设计
系统架构·智慧校园·gis·webgl·地图导航·电子地图·校园地图导航
匹马夕阳2 天前
(十七)WebGL中 图像处理的初识
图像处理·人工智能·webgl
2201_759646562 天前
three.js 通用 shaderToy着色器使用,切换
开发语言·前端·javascript·ecmascript·webgl·着色器
优雅永不过时·9 天前
原生Three.js 和 Cesium.js 案例 。 智慧城市 数字孪生常用功能列表
前端·javascript·低代码·编辑器·智慧城市·webgl·three.js
travelclover10 天前
在ArcGIS JS API中使用WebGL实现波纹扩散特效
javascript·arcgis·webgl
iloveas201420 天前
three.js+WebGL踩坑经验合集(6.2):负缩放,负定矩阵和行列式的关系(3D版本)
3d·矩阵·webgl
iloveas201421 天前
three.js+WebGL踩坑经验合集(6.1):负缩放,负定矩阵和行列式的关系(2D版本)
线性代数·矩阵·webgl
iloveas20141 个月前
three.js+WebGL踩坑经验合集(4.2):为什么不在可视范围内的3D点投影到2D的结果这么不可靠
3d·webgl
iloveas20141 个月前
three.js+WebGL踩坑经验合集(2):3D场景被相机裁切后,被裁切的部分依然可以被鼠标碰撞检测得到(射线检测)
webgl
iloveas20141 个月前
three.js+WebGL踩坑经验合集(1):THREE.Line无故消失的元凶
webgl