aws amplify 不为 wasm 提供内容类型

krf*_*lol 2 amazon-web-services rust reactjs webassembly aws-amplify

我用 Rust 编写了一个带有 wasm-pack 的 wasm 模块。我将它用作 React SPA 的一部分。我已将 wasm 库发布到 npm,并且在我的本地计算机上一切正常。它也适用于 ec2 实例;但是,当我通过 aws Amplify 部署时,出现以下问题

Unexpected error in loadWasm. [Message: Response has unsupported MIME type]
Run Code Online (Sandbox Code Playgroud)

响应头包括

content-type: text/html
Run Code Online (Sandbox Code Playgroud)

为了

https://master.d3447bi8c4sf9b.amplifyapp.com/ac0bae67a38fb31af71d.module.wasm
Run Code Online (Sandbox Code Playgroud)

我尝试用几种不同的方式编辑自定义标头 yml

customHeaders:
  - pattern: '*.wasm'
    headers:
      - key: Content-Type
        value: application/wasm

customHeaders:
  - pattern: '*.wasm'
    headers:
      - key: 'Content-Type'
        value: 'application/wasm'
Run Code Online (Sandbox Code Playgroud)

我不确定 Amplify 是否不正确地提供了 wasm 或者什么。任何帮助,将不胜感激

小智 9

我也有这个。除了添加 mime 类型之外,我还向 Amplify“重写和重定向”规则添加了 wasm,如下所示

</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json|wasm)$)([^.]+$)/>