问题标签 [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.
rust - 特征 `rayon::iter::ParallelExtend` 没有为`std::vec::Vec 实现`
我正在尝试将Roliz 的网络爬虫(博客文章)转换为 WASM,以进行浏览器内或基于 Deno 的端点爬取。
这是我的实现:
货运.toml
库文件
见操场。完整的错误信息是:
我正在使用 rust 版本:1.45.0-nightly (4bd32c980 2020-05-29)
我哪里错了?
wasm-bindgen - 如何从 rust 访问 web_sys::CustomEvent.detail 数据
拥有生成https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.CustomEvent.html的代码。
记录event.detail()
结果:{index: 1}
。这是 type JsValue
,但是如何在 rust 中获取整数 1 值?
一种方法可能是 https://rustwasm.github.io/docs/wasm-bindgen/reference/iterating-over-js-values.html 其他更好的方法?
rust - `*arg0` 寿命不够长 - wasm_bindgen
运行以下代码时:
货运.toml
库文件
我收到以下错误:
*arg0
活得不够长
借来的价值 活得不够长 论据要求*arg0
借来'static
的
javascript - 在 WASM-Bindgen Rust 中使用鼠标输入事件上的闭包创建回调时闭包调用错误
我有一个从WASM-Bindgen "canvas" 示例派生的 Rust 程序。我试图在元素的每个 JavaScriptonmousemove
事件上调用一些 Rust 代码。Canvas
我的代码当前成功创建了 DOM 事件(看起来)。但是,在每个触发的事件中,Firefox 开发者版开发者工具的控制台都会显示一个错误:
Uncaught Error: closure invoked recursively or destroyed already
这是我的代码的一部分:
rust - 没有预建的 wasm-opt 二进制文件
我正在尝试在我的树莓派 (3b) 上构建一些 webassembly rust 应用程序。一切顺利,虽然我在运行时遇到错误wasm-pack
似乎没有wasm-opt
为我的(armv71)平台找到二进制文件。但是从这里克隆它们并自己构建它们似乎很容易。
但我的问题是如何将它们添加到 webassembly,以便找到它们?
编辑:要清楚,构建“成功”完成,即我可以运行包。但是,我想使用的大小或速度优化wasm-opt
javascript - 如何使用 --target no-modules 导入带有 wasm-bindgen 的 JavaScript 函数?
我正在尝试研究如何使用 Rust 和 wasm-bindgen 调用 JavaScript 函数。由于缺乏浏览器支持,我无法将 wasm-bindgen 与 ES6 模块与 Web Worker 一起使用。
据我所知,在 Rust 端声明存在供我调用的 JavaScript 函数很简单
但是,我不知道在哪里定义 JavaScript 实现。如果我尝试从 JavaScript 调用未定义的 Rust 函数,logProgress
那么我会收到运行时错误:Error: logProgress is not defined
我可以从 wasm-bindgen 文档中看到,如果我将 wasm-bindgen 与 ES6 模块一起使用,那么我可以将 rust 代码更改为
并在其中声明 JavaScript 函数progress.js
由于我改为通过wasm_bindgen
全局导入我的 Rust API,我认为我应该能够在我的 Web Worker 的同一部分附近的某个地方定义实现,但我已经搜索了很多文档并且找不到任何关于如何做这个。
wasm-bindgen - wasm-bindgen - 可以识别构建版本/日期吗?
对于 web 应用程序,开发循环 [更改 -> 构建 -> 部署 -> 测试] 是非常迭代的。由于浏览器缓存容易错误构建版本。因此,经常需要确定构建版本。
wasm-bindgen
/是否wasm-pack
提供了一些宏,例如Timestamp
转储到日志文件中,以识别构建的版本?
类似的东西:log(BUILD_DATE)
=>"2020:09:12 09:37:12"
rust - 在 wasm-bindgen 中扩展 AudioWorkletProcessor?
有关如何rust -> wasm
使用 wasm-bindgen 在流程中使用现有 javascript Web 系统的文档非常简单。简而言之:
- 将所需的功能列为依赖项
- 通过 web_sys 访问,并从那里正常对待它们。
链接到完整示例
虽然这种方法适用于大多数 Web 系统,但对于需要您扩展类的系统来说并不那么简单。在这种情况下,我正在尝试使用AudioWorkletProccessorwasm-bindgen
在标准用法中,您应该扩展AudioWorkletProcessor
类,然后注册它。MDN 示例
我该如何解决这个问题?首先我需要AudioWorkletProcessor
在 Rust 中扩展(它不做普通的类和继承),覆盖它的process()
功能。然后我需要确保registerProcessor()
注入到我的生锈空间。
postgresql - rust-lld:错误:找不到库 -lpq
我正在尝试使用 Yew、Diesel 和 Postgres 构建一个简单的 Web 应用程序。当我跑
我收到以下错误:
我在 macOS Catalina 上。我通过 Homebrew 安装了 Postgres。我的libpq.dylib
文件位于/usr/local/lib
.
这些是我已经尝试过的故障排除:
- 添加
/usr/local/lib
到$PATH
. 我的pg_config
节目LIBDIR = /usr/local/lib
。 - 重新安装 Postgres
- 更新
rustc -nightly
这里的想法也没有帮助:如何通过 wasm-pack 将 Rust Wasm 应用程序与 libpq 链接?
仍然没有解决。我会很感激任何建议。
javascript - 如何获取从 wasm (rust) 到 js 的静态 mut 的地址?
我有一个 rust-wasm 项目,我需要在 webassembly 中填充一个缓冲区,然后再将其传递给我的 js 脚本,然后用画布显示它。
(受本文启发)
但是 rust 中的静态 mut 是不安全的,所以我不能用#[wasm_bindgen]
如何在我的 js 脚本中获取此静态缓冲区的地址?
编辑 :
我已经看到了这个解决方案:
我真的不明白这段代码中发生了什么,我不能使用它,因为我使用了 wasm-pack 构建工具:它为我创建了与 wasm 文件对应的 .js 文件,但我仍然无法得到缓冲区地址。
任何帮助,将不胜感激