aws amplify 不为 wasm 提供内容类型

Posted

技术标签:

【中文标题】aws amplify 不为 wasm 提供内容类型【英文标题】:aws amplify not serving content-type for wasm 【发布时间】:2021-03-12 23:18:30 【问题描述】:

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

Unexpected error in loadWasm. [Message: Response has unsupported MIME type]

响应头包括

content-type: text/html

https://master.d3447bi8c4sf9b.amplifyapp.com/ac0bae67a38fb31af71d.module.wasm

我尝试了几种不同的方式来编辑自定义标题 yml

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

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

我最终将它托管在 s3 中,但我永远找不到这个解决方案!有时间我得绕回去试试这个。 很高兴我在这里回答了 - 必须再次修复同样的问题,完全忘记了我之前所做的事情! 你应该打开一个github问题!我很想将此标记为已接受,但我没有机会尝试,所以我认为这是不合适的。如果其他人可以独立验证,我将标记为已接受。 事实上,昨天我只进行了 rewrtie/redirect 更改,而不是自定义标头,它立即生效。 有趣。我猜离 WASM 的未来又近了一步

以上是关于aws amplify 不为 wasm 提供内容类型的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Amplify 为 GraphQL API (AWS AppSync) 生成类

在 AWS Amplify GraphQL 中对结果进行排序而不进行过滤

必须在 AWS amplify 中为 Source 提供 graphql API 调用

我应该如何配置 Apollo Nuxt 模块以向我的查询提供 AWS Amplify api 密钥?

aws amplify nextjs s-s-r不想刷新

AWS Amplify,如何检查用户是不是登录?