问题标签 [wasm-bindgen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
195 浏览

rust - 返回 Box<[Box<[JsValue]>]> 不起作用,因为 IntoWasmAbi 未实现

我正在尝试在JsValue数组上创建一个块方法。有没有办法将修改后的数组传回 JavaScript?

这就是我想要做的:

我在编译过程中得到了这个:

我也尝试过 js_sys,但它似乎比纯 JS 实现需要更长的时间,因为它只是一个 JS API 包装器

0 投票
1 回答
1105 浏览

rust - 如何使用 Vec作为返回类型并使用 wasm_bindgen 使其在 Javascript 中可读

我想编译以下代码。

但是,编译器不允许我这样做。

我正在使用最新版本的 wasm_bindgen (v0.2.55)。我认为这应该是可能的,对吧?

0 投票
0 回答
49 浏览

rust - 如何从 wasm-pack 构建中删除二进制文件参考信息

在此处输入图像描述

当我用文本编辑 wasm 时,会有很多不需要的信息。

比如不必要的“.cargo\registry\src\github.com-1ecc6299db9ec823”

我正在尝试添加

但信息仍然存在

0 投票
1 回答
185 浏览

rust - 如何在 Rust 的内部特征上实现外部特征?

我想在 main 函数中打印Tweet数据类型的实例,但摘要特征不实现调试特征。有没有办法在 trait 上实现 trait 或任何解决方法。取消注释第二行并注释第一行将起作用,因为 String 类型实现了 Display 特征。

错误[E0277]:impl Summary没有实现std::fmt::Debug --> src/main.rs:26:29 | 26 | /1./println!("{:#?}",summarizeable(String::from("Alex " ))); |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl Summary无法格式化使用{:?},因为它没有实现std::fmt::Debug | =帮助:该特征std::fmt::Debug未实现impl Summary =注意:需要std::fmt::Debug::fmt

错误:由于先前的错误而中止

有关此错误的更多信息,请尝试rustc --explain E0277. 错误:无法编译p1

要了解更多信息,请使用 --verbose 再次运行该命令。

0 投票
1 回答
1109 浏览

rust - wasm-pack build report error: could not compile `net2`

i use try to use rustwasm refered https://rustwasm.github.io/book/game-of-life/hello-world.html,all worked fine. but when i add reqwest = "0.9.22" to Cargo.toml,then execute wasm-pack build command in my project,the compiler reports such an error:

... omit similar error --> D:\cargo\registry\src\github.com-1ecc6299db9ec823\net2-0.2.33\src\ext.rs:1499:22 | 1499 | get_opt(self.as_sock(), SOL_SOCKET, SO_ERROR).map(int2err) | ^^^^^^^ method not found in &udp::UdpBuilder | = help: items from traits can only be used if the trait is implemented and in scope = note: the following trait defines an item as_sock, perhaps you need to implement it: candidate #1: ext::AsSock

my environment

0 投票
1 回答
492 浏览

c++ - 编译为 wasm 的 C++ 和 Rust 程序能否以某种方式互操作?

假设我有一个用 Rust 编写的程序和另一个用 C++ 编写的程序。鉴于它们都被编译为 Wasm,我可以以某种方式从另一个程序中调用一个程序中的函数吗?

0 投票
1 回答
956 浏览

rust - 如何访问 Wasm (Rust) 中的 JS 对象属性?

我正在使用 wasm bindgen,我有以下功能:

在 js 中我调用这个函数obj({name: "john"}); ,它工作正常,但是当我尝试console::log_1(o.name); 它时,它会给出错误unknown field指向name

0 投票
1 回答
10871 浏览

multithreading - WebAssembly 中的多线程

如果您回答我关于 WebAssembly 多线程的问题,我将不胜感激。我想用 2 个线程(主线程和一个辅助线程)实现代码,这样就有一个全局变量用作辅助线程中的计数器变量,并在循环中递增它。和主线程,读取计数器变量数量,一次在运行指令之前和一次之后(测量完成该指令所需的时间)。我已经实现了这段代码:


我的理解是,Wasm 对多线程的支持并不完善,因为它不会同时运行主线程和其他线程,它需要像 sleep 这样的东西来在线程之间切换。因此,我们不能将多线程 Wasm 用于某些目标,例如在一个线程中增加一个计数器并在另一个线程中同时读取它。我的问题是我的推论是否正确?如果是真的,问题是什么?从 C 或编译过程或...?是否有任何替代方法可以使用完整的多线程?非常感谢。

0 投票
1 回答
237 浏览

npm - 无法在 shadow-cljs 项目中导入本地 wasm npm 包

我正在尝试在我的 shadow-cljs 项目中导入 wasm 包。它捆绑在一个 npm 包中,但我不断收到此错误:

这是我的项目结构:

这是我的 package.json (来自 clojurescript 项目):

我像这样(在 core.cljs 中)运行npm install并将画布模块添加到我的项目中:

这里似乎有什么问题?

0 投票
1 回答
178 浏览

rust - 使用 web_sys::HtmlButtonElement 失败

设法构建和运行https://github.com/rustwasm/wasm-bindgen/tree/master/examples中的一些示例

然后从用于 Dom 操作的小原型程序开始,一切正常,直到卡在这个问题上。


使用 https://docs.rs/web-sys/0.3.35/web_sys/struct.HtmlButtonElement.html

列表pub struct HtmlButtonElement,类似于

https://docs.rs/web-sys/0.3.35/web_sys/struct.Element.htmlhttps://docs.rs/web-sys/0.3.35/web_sys/struct.HtmlElement.html

有:

给出编译错误:

ElementHtmlElement被发现在web_sys

有什么区别/缺失HtmlButtonElement?消息是否no HtmlButtonElement in the root提供线索?