【问题标题】:Loading WebAssembly Binaries on Rails在 Rails 上加载 WebAssembly 二进制文件
【发布时间】:2018-03-25 00:31:06
【问题描述】:

我正在尝试在 Rails 上加载一个 wasm 二进制文件,但只有当“.js”胶水代码和 .wasm 二进制文件位于公共文件夹中时我才会成功...如果我尝试通过它们访问它们我的观点是,.js 胶水代码无法找到 wasm 二进制文件。 (无法在 'wget.wasm' 加载 wasm 二进制文件)

我是否需要创建到 wasm 二进制文件的特定路由?我尝试更改使用 emscripten 编译 C 代码后生成的 .js 胶水代码上的 .wasm 位置,但没有成功...

或者我需要添加方法来在控制器中发送二进制文件吗?我尝试使用 send_file 方法,但 .wasm 文件正在下载而不是加载到页面...

使用firefox页面检查器,我观察到当通过我的视图发出请求时,GET导致状态500“内部服务器错误”,但是当我通过公用文件夹访问时,它会导致状态200“OK ”。

我发现的关于 Ruby on Rails 和 WebAssembly 集成的唯一信息是一个 github 存储库,专门在这个 commit 中,在 RubyKaigi 2017 会议“Ruby、Opal 和 WebAssembly”中的一个演示文稿中,但我没有任何进展使用它。好像执行了一段js代码 this .rb 文件来加载wasm二进制文件,但正如我之前所说,我使用它并没有获得任何成功。

【问题讨论】:

  • 您遇到的 500 错误是什么?你可以在问题中发布它吗?
  • 我已将信息添加到问题中,这是 HTTP 请求的错误

标签: javascript ruby-on-rails ruby emscripten webassembly


【解决方案1】:

如果您对 .wasm 文件进行 base64 编码,那么您可以将其直接放入 JavaScript 中,如下所示:

Module.wasmBinaryFile = "data:application/wasm;base64,AGFzbQEAAAAByQ/AAWACf38Bf2A...";

解决了我遇到的类似问题

【讨论】:

    猜你喜欢
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 2019-02-19
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多