简介
1.
示例
1.1.
Hello, World!
1.2.
使用 console.log
1.3.
小 wasm 文件
1.4.
无捆绑器
1.5.
同步实例化
1.6.
将 WebAssembly 转换为 JS
1.7.
从 JS 导入函数
1.8.
使用 char
1.9.
js-sys: WebAssembly 中的 WebAssembly
1.10.
web-sys: DOM hello world
1.11.
web-sys: 闭包
1.12.
web-sys: performance.now
1.13.
web-sys: 使用 fetch
1.14.
web-sys: 天气预报
1.15.
web-sys: canvas hello world
1.16.
web-sys: canvas Julia 集
1.17.
web-sys: WebAudio
1.18.
web-sys: WebGL
1.19.
web-sys: WebSockets
1.20.
web-sys: WebRTC DataChannel
1.21.
web-sys: requestAnimationFrame
1.22.
web-sys: 一个简单的绘画程序
1.23.
web-sys: Web Worker 中的 Wasm
1.24.
并行光线追踪
1.25.
Wasm 音频工作线程
1.26.
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.
使用鸭子类型接口
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<T>
2.17.5.
*const T 和 *mut T
2.17.6.
NonNull<T>
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.
装箱的数字切片
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
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.
持续集成
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.
团队
浅色
锈色
煤炭色
海军蓝
青绿色
`wasm-bindgen` 指南
支持的 Rust 类型及其 JavaScript 表示
本节概述了 `wasm-bindgen` 可以跨 WebAssembly ABI 边界发送和接收的所有类型,以及它们如何转换为 JavaScript。