node.js - 在 Node.js 中导入正确的 Wasi 模块

标签 node.js webassembly wasi

我已经被困在某件事上有一段时间了。我正在尝试使用 Node.js 中的 WebAssembly,但为了做到这一点,我需要 NodeJs 来实例化 Wasi 对象。这是在这里实现的:https://github.com/nodejs/node/blob/master/lib/wasi.js文档在这里:https://nodejs.org/api/wasi.html

通过import { WASI } from 'wasi'导入;

但我不知道如何访问正确的 wasi 实现,当我将 wasi 添加到依赖项时,它将安装 https://www.npmjs.com/package/wasi这是我不需要的旧用户实现。它也不符合上面的API文档,它不可用。我的 IDE (WebStorm) 代码检查功能表现得好像它是正确的实现,但在执行代码时,很明显它使用了错误的实现。

如果我根本不安装任何软件包,我会得到Cannot find package 'wasi'imported from ...

所以问题是,如何使用 https://github.com/nodejs/node/blob/master/lib/wasi.js 中声明的 WASI 类?

最佳答案

解决方案是在运行 Node 时包含命令行参数--experimental-wasi-unstable-preview1! (在 https://nodejs.org/api/wasi.html 中的代码示例下方注明)

例如:node --experimental-wasi-unstable-preview1 index.js

关于node.js - 在 Node.js 中导入正确的 Wasi 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72545867/

相关文章:

node.js - 由于 zone.js,Angular7 在 Google Page Speed 上的性能降低

javascript - 安装 gulp 和 pdf.js 时出现问题

javascript - 将毫秒格式化为始终为 d.getMilliseconds() 调用的 3 位数字

debugging - 使用 clang 编译到 wasm 时如何保留变量名称

webassembly - 是否可以向实例化的 Webassemble 模块添加新功能?

rust - 如何在 WASI 中使用 Rust 的 async/await 语法

node.js - MongoDB Node.js 模块 'mongo' 未被识别为内部或外部命令

rust - 从 WebAssembly .wasm 模块获取 JavaScript 导入对象条目

v8 - 有没有办法向 V8 Turbofan 提供 asm.js 或 WebAssembly 代码?