从内存中加载.wasm对象

时间:2018-05-03 08:17:13

标签: javascript emscripten webassembly

我有一个工具链,它将来自客户端的源发送到服务器,并在服务器上生成.wasm和.js文件,并将其与响应一起发回。我在变量中收到所有这些数据,然后将.js文件注入页面,但它试图在根文件夹中找到.wasm文件,但我只在内存中。问题是:我应该如何将数据从Uinit8Array传递到.js脚本?

emscripten的作者建议我使用locateFile,但如果我没有该文件,我实际上并不了解如何使用它。 https://github.com/kripken/emscripten/issues/6486#issuecomment-385492371

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我能够通过覆盖.js文件的readBinary函数来解决这个问题。我注入了代码:

var Module = {
               readBinary : function readBinary(filename)
               {return new Uint8Array(rawWebAssembly);
}}

在加载.js文件之前,其中rawWebAssembly是.wasm文件的二进制数据。