首页 > 解决方案 > 如何使用 Create-React-App 的节点服务器定义 MIME 类型?

问题描述

我正在尝试处理这个 WebAssembly 注释:“注意:要使用instantiateStreamingand运行compileStreaming,您需要您的网络服务器提供具有 MIME 类型的 .wasm 文件。httpsapplication/wasm板条箱可用于从 localhost 提供文件,并包括 application/wasm开箱即用的 MIME 类型。”

实际上,我在 JS 控制台中收到了 MIME 错误。谷歌搜索显示无法配置它。Mozilla 建议在已弃用的 WebAssembly.instantiate 上进行实例化流处理。如果使用 stdweb 或 bindgen,后者对我也不起作用:它需要第二个参数,我不确定如何提供。

标签: node.jscreate-react-appwebassembly

解决方案


不幸的是,你在这里工作的最前沿!WebAssembly 流式编译是一项非常新的功能,目前仅在 FireFox 和 Chrome 中支持

你是对的,它取决于具有正确 mime 类型的服务器文件。发生这种情况所需的更改正在进行中:

  • node-mime - 许多项目(包括 webpack 开发服务器)使用它来提供基于文件扩展名的 mime 类型,已于2017 年 12 月在 v2.3.1中更新以支持wasm
  • webpack-dev-middleware 于2017 年 11 月更新以支持 v3.1.3 中的 wasm 文件扩展名

然而,这些都是 create-react-app 的上游依赖,通过 react-scripts。react-scripts 的前沿版本依赖于支持 wasm 的 webback-dev-middleware,但是这还没有发布。npm 上的最新版本使用旧版本。

现在,我会转向流式编译,直到这些更改使其成为“生产”。


推荐阅读