跳转到内容
搜索文档

支持的 crate

最后更新 查看 MarkdownAgent 设置

背景

了解在使用 workers-rs(或在某些情况下仅使用 wasm-bindgen)以 WebAssembly 编写 Workers 时,已确认可在 Workers 上运行的常用 Rust crate。 每个 Rust crate 示例都包含所需的自定义配置。

这不是详尽列表——许多 Rust crate 都可以编译为 Workers 支持的 wasm32-unknown-unknown 目标。 在某些情况下,这可能需要禁用默认功能或启用 Wasm 专用功能。考虑添加新依赖项很重要,因为这会显著增加 Worker 的大小

time

许多已适配 Wasm 的 crate 会使用 time crate 而不是 std::time。要使 time crate 在 Wasm 中工作,必须启用 wasm-bindgen 功能,以便从 JavaScript 获取计时信息。

tracing

可以通过使用 tracing-web crate 和 tracing-subscribertime 功能来启用追踪。 由于 Workers 上的计时限制,除非 span 包含 I/O,否则开始和结束时间将相同。

请参阅 tracing 示例了解更多信息。

reqwest

reqwest可以编译为 Wasm,并通过 wasm-bindgen 自动接入 JavaScript fetch API。

tokio-postgres

tokio-postgres 可以编译为 Wasm。必须将其配置为使用来自 workers-rsSocket

请参阅 tokio-postgres 示例了解更多信息。

hyper

hyper crate 包含两个 HTTP 客户端:较低级别的 conn 模块和较高级别的 Clientconn 模块可以与 Workers Socket 一起使用,但 Client 需要尚未适配 Wasm 的计时依赖项。

请参阅 hyper 示例了解更多信息。

这篇文档对您有帮助吗?