部署之后會出錯,我遇到的有以下幾種;
進度條卡住不動
明明已經部署到了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配置文件完整內容如下:
<?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。把網站放進來,就可以直接預覽了,超級好用。