首页 > 解决方案 > Electron WebAssembly:TypeError:不正确的响应 MIME 类型。预期的“应用程序/wasm”

问题描述

使用本地相对路径时,WebAssembly.instantiateStreaming 失败。有什么方法可以禁用此检查,或者是否有人对解决问题的另一种方法有任何建议?我正在尝试消除对电子项目 Web 后端的依赖。

<script>
    WebAssembly.instantiateStreaming(fetch("relative/path/to/file.wasm", {
        credentials: "same-origin",
        headers: {
            "Content-Type": "application/wasm"
        }
    }), {}).then(output => {
        console.log(output);
    }).catch(reason => {
        console.log(reason);
    });
</script>

标签: javascriptelectronwebassembly

解决方案


fetch()只要切换到 usinginstantiate()而不是 ,您仍然可以使用,因为前者instantiateStreaming()关心 MIME 类型,而后者关心. 例子:

const response = await fetch("relative/path/to/file.wasm");
const buffer = await response.arrayBuffer();
const output = await WebAssembly.instantiate(buffer);
console.log(output);

推荐阅读