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。把网站放进来,就可以直接预览了,超级好用。

相关推荐
Aurora@Hui16 小时前
WebGL & Three.js
webgl
CC码码3 天前
基于WebGPU实现canvas高级滤镜
前端·javascript·webgl·fabric
ct9783 天前
WebGL 图像处理核心API
图像处理·webgl
ct9785 天前
Cesium 矩阵系统详解
前端·线性代数·矩阵·gis·webgl
ct9788 天前
WebGL Shader性能优化
性能优化·webgl
棋鬼王8 天前
Cesium(一) 动态立体墙电子围栏,Wall墙体瀑布滚动高亮动效,基于Vue3
3d·信息可视化·智慧城市·webgl
Longyugxq10 天前
Untiy的Webgl端网页端视频播放,又不想直接mp4格式等格式的。
unity·音视频·webgl
花姐夫Jun11 天前
cesium基础学习-坐标系统相互转换及相应的场景
学习·webgl
ct97811 天前
WebGL开发
前端·gis·webgl
作孽就得先起床12 天前
unity webGL导出.glb模型
unity·c#·游戏引擎·webgl