Rust WebAssembly 工作坊教程
1. 项目的目录结构及介绍
rust-wasm-workshop/
├── getting-started/
│ ├── src/
│ │ ├── lib.rs
│ │ └── utils.rs
│ ├── Cargo.toml
│ └── index.html
├── going-further/
│ ├── src/
│ │ ├── lib.rs
│ │ └── utils.rs
│ ├── Cargo.toml
│ └── index.html
├── putting-it-all-together/
│ ├── src/
│ │ ├── lib.rs
│ │ └── utils.rs
│ ├── Cargo.toml
│ └── index.html
├── LICENSE
└── README.md
getting-started/
: 包含入门教程的代码和资源。going-further/
: 包含进阶教程的代码和资源。putting-it-all-together/
: 包含综合教程的代码和资源。LICENSE
: 项目许可证文件。README.md
: 项目说明文档。
2. 项目的启动文件介绍
每个模块的启动文件是 index.html
,它负责加载和运行 Rust 编译生成的 WebAssembly 模块。例如,在 getting-started/
目录下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Getting Started</title>
<script type="module">
import init from './pkg/getting_started.js';
init().then(() => {
console.log("WebAssembly module loaded");
});
</script>
</head>
<body>
<h1>Getting Started with Rust and WebAssembly</h1>
</body>
</html>
3. 项目的配置文件介绍
每个模块的配置文件是 Cargo.toml
,它定义了 Rust 项目的依赖和构建配置。例如,在 getting-started/
目录下:
[package]
name = "getting-started"
version = "0.1.0"
edition = "2018"
[lib]
crate-type = ["cdylib"]
[dependencies]
wasm-bindgen = "0.2"
[package]
: 定义项目的基本信息,如名称和版本。[lib]
: 指定库的类型为cdylib
,用于生成 WebAssembly 模块。[dependencies]
: 定义项目依赖,如wasm-bindgen
。
以上是基于 https://github.com/rylev/rust-wasm-workshop.git
项目的教程内容。