你應該要知道的板條箱
這是一個精選的出色板條箱清單,你應該知道這些板條箱,才能執行 Rust 和 WebAssembly 開發。
你也可以瀏覽已發布到 crates.io 中 WebAssembly 類別的所有板條箱。
與 JavaScript 和 DOM 互動
wasm-bindgen
| crates.io | 儲存庫
wasm-bindgen
促進 Rust 和 JavaScript 之間的高層級互動。它允許使用者匯入 JavaScript 中的內容到 Rust 中,並將 Rust 中的內容匯出到 JavaScript 中。
wasm-bindgen-futures
| crates.io | 儲存庫
wasm-bindgen-futures
是連接 JavaSript 承諾
和 Rust 未來
的橋樑。它可以在兩個方向轉換,在 Rust 中處理非同步任務時很有用,並允許與 DOM 事件和 I/O 操作互動。
js-sys
| crates.io | 儲存庫
所有 JavaScript 全域類型和方法,例如 物件
、函式
、eval
的未處理 wasm-bindgen
匯入,等等。這些 API 可以移植到所有標準 ECMAScript 環境中,不只網路,例如 Node.js。
web-sys
| crates.io | 儲存庫
所有網路 API,例如 DOM 處理、setTimeout
、WebGL、Web 音訊,等等的未處理 wasm-bindgen
匯入。
錯誤報告和記錄
console_error_panic_hook
| crates.io | 儲存庫
此 crate 讓您在 wasm32-unknown-unknown
上偵錯恐慌,方法是提供一個恐慌掛勾,將恐慌訊息傳送到 console.error
。
console_log
| crates.io | 儲存庫
此 crate 提供 log crate
的後端,會將記錄的訊息路由到 devtools 控制台。
動態配置
wee_alloc
| crates.io | 储存库
Wasm-Enabled,Elfin Allocator。一个小型(~1K 未压缩的 .wasm
) 分配器实现,当代码大小比分配性能更受关注时。
解析和生成 .wasm
二进制文件
parity-wasm
| crates.io | 储存库
一种用于序列化、反序列化和构建 .wasm
二进制文件的低级 WebAssembly 格式函数库。对知名自定义部分(例如“名称”部分和“reloc.WHATEVER”部分)有良好的支持。
wasmparser
| crates.io | 储存库
一个用于解析 WebAssembly 二进制文件的简单事件驱动函数库。在解析 reloc 时,它可以提供每个已解析事物的字节偏移量(例如,在解释 reloc 时需要用)。
解释和编译 WebAssembly
wasmi
| crates.io | 储存库
一个来自 Parity 的可嵌入式 WebAssembly 解释器。
cranelift-wasm
| crates.io | 储存库
将 WebAssembly 编译到本机主机的机器代码。Cranelift(原为 Cretonne)代码生成器项目的一部分。