mre*_*rre 6 javascript webassembly
我正在使用 wasmer 及其包管理器 wapm 来玩 WASM。我可以轻松安装Figlet WASM 包(如此处所述)并在本地运行它:
\nubuntu@ip-172-31-1-78:~$ wapm execute figlet it works\n _ _ _ \n(_) |_ __ _____ _ __| | _____ \n| | __| \\ \\ /\\ / / _ \\| \'__| |/ / __|\n| | |_ \\ V V / (_) | | | <\\__ \\\n|_|\\__| \\_/\\_/ \\___/|_| |_|\\_\\___/\n \nubuntu@ip-172-31-1-78:~$ \nRun Code Online (Sandbox Code Playgroud)\n作为试验 WASM 的一种方法,我想获取figlet.wasm系统上安装的文件并在浏览器中运行它。
我已经启动了本地 nginx 服务,并将figlet.wasm根文件夹中
<!doctype html>\n\n<html lang="en">\n<head>\n <meta charset="utf-8">\n\n <title>Test</title>\n</head>\n\n<body>\n <script src="figlet.js"></script>\n</body>\n</html>\nRun Code Online (Sandbox Code Playgroud)\nconst importObject = {\n imports: {\n imported_func(arg) {\n console.log(arg);\n }\n }\n};\n\nfetch(\'figlet.wasm\').then((response) =>\n response.arrayBuffer()\n).then((bytes) => {\n const mod = new WebAssembly.Module(bytes);\n const instance = new WebAssembly.Instance(mod, importObject);\n instance.exports.exported_func();\n})\nRun Code Online (Sandbox Code Playgroud)\n但我得到了一个import object field \'wasi_snapshot_preview1\' is not an Object.
有没有一种简单的方法来修复 js 文件以便能够运行 wasm 模块并查看输出?接下来的问题是如何传递Figlet渲染所需的参数。
\n[更新]\n进展非常缓慢。事实证明,特定的错误消息import object field \'wasi_snapshot_preview1\' is not an Object是由于该工件是针对wasi浏览器无法理解的接口进行编译的(有关背景信息,请参阅此处)。我能够通过使用 target 编译 hello-world rust simple 应用程序来重现该问题wasm32-wasi。如果我使用目标wasm32-unknown-unknown(距离 Rust 中的 wasm 目标列表更近)编译简单的应用程序,则在浏览器中加载时会出现不同的错误:Uncaught (in promise) TypeError: result.instance.exports.exported_func is not a function。
另外值得注意的是(可能也是预期的),如果我使用wasm32-wasiwasmer 测试该版本,它工作正常,但如果我使用该wasm32-unknown-unknown版本测试它,则会出现错误:
wasmer hello-rust-wasm.wasm\nerror: failed to run `hello-rust-wasm.wasm`\n\xe2\x95\xb0\xe2\x94\x80\xe2\x96\xb6 1: No export `_start` found in the module.\n Similar functions found: `main`.\n Try with: wasmer hello-rust-wasm.wasm -i main\nRun Code Online (Sandbox Code Playgroud)\n我想知道是否有可能在浏览器和浏览器之外的 wasm/wasi 运行时上运行相同的版本/工件(即 wasi 或 wasm)(或者我只需要为两个单独的目标编译程序)
\n如果我发现更多信息,我将更新该线程。
\n| 归档时间: |
|
| 查看次数: |
985 次 |
| 最近记录: |