为了账号安全,请及时绑定邮箱和手机立即绑定

由于不允许的 MIME 类型(“application/wasm”),加载模块被阻止

由于不允许的 MIME 类型(“application/wasm”),加载模块被阻止

慕码人2483693 2021-11-18 20:33:14
我提供一个静态文件服务器(通过 HTTP),其中包含由wasm-pack. 使用 rustwasm 书中的示例,我将此代码添加到我的索引 HTML 页面:        <script type="module">            import init from "./pkg/fstree_web.js";            async function run() {                await init();            }            run();        </script>但是,在 Firefox 上,我收到标题中所示的错误消息:来自“ http://localhost:8000/pkg/fstree_web_bg.wasm ”的模块由于不允许的 MIME 类型(“application/wasm”)而被阻止。我怀疑是 HTTPS 问题或 localhost 问题,所以我另外尝试了127.0.0.1,甚至尝试了 https://***.ngrok.io 隧道,Firefox 仍然拒绝加载带有此错误消息的 wasm 模块。它链接到关于 X-Content-Type-Options 的 MDN 文章,但我不确定它是如何相关的。我的服务器已经在发送Content-Type: application/wasm.wasm-pack 生成的 JavaScript 代码是这样开头的:import { __cargo_web_snippet_72fc447820458c720c68d0d8e078ede631edd723 } from './snippets/stdweb-bb142200b065bd55/inline133.js';import { __cargo_web_snippet_97495987af1720d8a9a923fa4683a7b683e3acd6 } from './snippets/stdweb-bb142200b065bd55/inline134.js';import { __cargo_web_snippet_dc2fd915bd92f9e9c6a3bd15174f1414eee3dbaf } from './snippets/stdweb-bb142200b065bd55/inline135.js';import { __cargo_web_snippet_1c30acb32a1994a07c75e804ae9855b43f191d63 } from './snippets/stdweb-bb142200b065bd55/inline136.js';import { wasm_bindgen_initialize } from './snippets/stdweb-bb142200b065bd55/inline293.js';import * as wasm from './fstree_web_bg.wasm';Firefox 是否希望我将 *.wasm 作为 .wasm 发送application/javascript?或者有什么问题?
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

WebAssembly 模块的导入尚未标准化。您应该将--targetwasm-pack的参数设置web为生成 JavaScript 以在浏览器中使用。


查看完整回答
反对 回复 2021-11-18
  • 1 回答
  • 0 关注
  • 795 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信