簡介
1.
範例
1.1.
Hello, World!
1.2.
使用 console.log
1.3.
小型的 Wasm 檔案
1.4.
不使用 Bundler
1.5.
同步實例化
1.6.
從 JS 導入函式
1.7.
使用 char
1.8.
js-sys: WebAssembly 中的 WebAssembly
1.9.
web-sys: DOM hello world
1.10.
web-sys: 閉包
1.11.
web-sys: performance.now
1.12.
web-sys: 使用 fetch
1.13.
web-sys: 天氣報告
1.14.
web-sys: canvas hello world
1.15.
web-sys: canvas Julia set
1.16.
web-sys: WebAudio
1.17.
web-sys: WebGL
1.18.
web-sys: WebSockets
1.19.
web-sys: WebRTC DataChannel
1.20.
web-sys: requestAnimationFrame
1.21.
web-sys: 一個簡單的繪圖程式
1.22.
web-sys: Web Worker 中的 Wasm
1.23.
平行光線追蹤
1.24.
Wasm Audio Worklet
1.25.
web-sys: 一個 TODO MVC 應用程式
2.
參考
2.1.
部署
2.2.
JS 片段
2.3.
靜態 JS 物件
2.4.
將 Rust 閉包傳遞給 JS
2.5.
在 Rust 中接收 JS 閉包
2.6.
Promise 和 Future
2.7.
迭代 JS 值
2.8.
使用 Serde 的任意資料
2.9.
存取非型別 JS 值的屬性
2.10.
使用 Duck-Typed 介面
2.11.
命令列介面
2.12.
最佳化大小
2.13.
支援的 Rust 目標
2.14.
支援的瀏覽器
2.15.
對弱參考的支援
2.16.
對參考類型的支援
2.17.
支援的類型
2.17.1.
導入的 JavaScript 類型
2.17.2.
導出的 Rust 類型
2.17.3.
JsValue
2.17.4.
Box<[T]> 和 Vec
2.17.5.
*const T 和 *mut T
2.17.6.
NonNull
2.17.7.
數字
2.17.8.
bool
2.17.9.
char
2.17.10.
str
2.17.11.
String
2.17.12.
數字切片
2.17.13.
Boxed 數字切片
2.17.14.
Result<T, E>
2.18.
#[wasm_bindgen] 屬性
2.18.1.
關於 JavaScript 導入
2.18.1.1.
catch
2.18.1.2.
constructor
2.18.1.3.
extends
2.18.1.4.
getter 和 setter
2.18.1.5.
final
2.18.1.6.
indexing_getter、indexing_setter 和 indexing_deleter
2.18.1.7.
js_class = "Blah"
2.18.1.8.
js_name
2.18.1.9.
js_namespace
2.18.1.10.
method
2.18.1.11.
module = "blah"
2.18.1.12.
raw_module = "blah"
2.18.1.13.
no_deref
2.18.1.14.
static_method_of = Blah
2.18.1.15.
structural
2.18.1.16.
typescript_type
2.18.1.17.
variadic
2.18.1.18.
vendor_prefix
2.18.2.
關於 Rust 導出
2.18.2.1.
constructor
2.18.2.2.
js_name = Blah
2.18.2.3.
js_class = Blah
2.18.2.4.
readonly
2.18.2.5.
skip
2.18.2.6.
skip_jsdoc
2.18.2.7.
start
2.18.2.8.
main
2.18.2.9.
typescript_custom_section
2.18.2.10.
getter 和 setter
2.18.2.11.
inspectable
2.18.2.12.
skip_typescript
2.18.2.13.
getter_with_clone
2.18.2.14.
unchecked_return_type 和 unchecked_param_type
2.18.2.15.
return_description 和 param_description
3.
web-sys
3.1.
使用 web-sys
3.2.
Cargo 功能
3.3.
函式多載
3.4.
類型轉換
3.5.
繼承
3.6.
不穩定的 API
4.
使用 wasm-bindgen-test 進行測試
4.1.
用法
4.2.
編寫非同步測試
4.3.
在無頭瀏覽器中測試
4.4.
持續整合
4.5.
覆蓋率 (實驗性)
5.
貢獻於 wasm-bindgen
5.1.
測試
5.2.
內部設計
5.2.1.
Rust 中的 JS 物件
5.2.2.
將函式導出到 JS
5.2.3.
將結構導出到 JS
5.2.4.
從 JS 導入函式
5.2.5.
從 JS 導入類別
5.2.6.
Rust 類型轉換
5.2.7.
wasm-bindgen 中的類型
5.3.
js-sys
5.3.1.
測試
5.3.2.
新增更多 API
5.4.
web-sys
5.4.1.
概述
5.4.2.
測試
5.4.3.
日誌記錄
5.4.4.
支援更多 Web API
5.5.
發佈
5.6.
團隊
淺色 (預設)
Rust
煤炭
海軍
鮎魚
`wasm-bindgen` 指南
支援的 Rust 類型及其 JavaScript 表示法
本節概述了 `wasm-bindgen` 可以跨 WebAssembly ABI 邊界傳送和接收的所有類型,以及它們如何轉換為 JavaScript。