Хостинг Firebase - не удалось скомпилировать потоковую передачу wasm - PullRequest
2 голосов
/ 03 октября 2019

Раньше я размещал свою сборку Unity WebGL на сервере Apache и использовал файл .htaccess, чтобы включить потоковую передачу WASM и обслуживать файлы .unityweb как gzip, но теперь я переключился на хостинг Firebase и хочу снова включить эту функцию.

Это мой файл firebase.json:

"hosting": {
  "public": "public",
  "ignore": [
    "firebase.json",
    "**/.*",
    "**/node_modules/**"
  ],
  "headers": [
    {
      "source": "**/*.@(unityweb|wasm)",
      "headers": [
        {
          "key": "Content-Encoding",
          "value": "gzip"
        }
      ]
    },
    {
      "source": "**/*.@(wasm)",
      "headers": [
        {
          "key": "Content-Type",
          "value": "application/wasm"
        }
      ]
    },
    {
      "source": "application/wasm",
      "headers": [
        {
          "key": "Add-Output-Filter-By-Type",
          "value": "DEFLATE"
        }
      ]
    } 
  ]
}

, который должен работать так же, как этот файл .htaccess:

AddEncoding gzip .unityweb
AddType application/wasm .wasm
AddEncoding gzip .wasm
AddOutputFilterByType DEFLATE application/wasm

Мои функции сборки без включения потоковой передачи wasm в единстве,но когда я делаю это вместе с этой настройкой firebase.json, я получаю следующие ошибки:

UnityLoader.js:4 wasm streaming compile failed: CompileError: WebAssembly.instantiateStreaming(): expected magic word 00 61 73 6d, found 1f 8b 08 18 @+0

UnityLoader.js:4 falling back to ArrayBuffer instantiation

UnityLoader.js:4 failed to asynchronously prepare wasm: CompileError: WebAssembly.instantiate(): expected magic word 00 61 73 6d, found 1f 8b 08 18 @+0

CompileError: WebAssembly.instantiate(): expected magic word 00 61 73 6d, found 1f 8b 08 18 @+0

UnityLoader.js:4 CompileError: WebAssembly.instantiate(): expected magic word 00 61 73 6d, found 1f 8b 08 18 @+0

Ранее я получал эту ошибку, когда я не настраивал файл .htaccess на Apache.

Я пытаюсь разместить файлы .unityweb как gzip из-за следующего сообщения из моих сборок Unity: You can reduce your startup time if you configure your web server to host .unityweb files using gzip compression.

Кто-нибудь знает, как заставить Firebase сделать это?

...