在Rails上加载WebAssembly二进制文件

时间:2017-10-12 23:20:29

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

我正在尝试在rails上加载wasm二进制文件,但是如果“.js”粘合代码和.wasm二进制文件位于公共文件夹中,我只能获得成功...如果我尝试访问它们我的观点,.js胶水代码无法找到wasm二进制文件。 (无法在'wget.wasm'加载wasm二进制文件)

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

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

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

我发现的Ruby on Rails和WebAssembly集成的唯一信息是github repositor,特别是在这个commit,RubyKaigi 2017会议“Ruby,Opal和WebAssembly”中的演示文稿,但我没有使用它的任何进展。似乎执行了一个js代码 this .rb文件加载wasm二进制文件,但正如我之前所说,我没有使用它获得任何成功。

1 个答案:

答案 0 :(得分:0)

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

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

解决了我遇到的类似问题