将Rust程序编译成WebAssembly
环境搭建
- 从这里安装Rust工具链,rustup(Rust版本管理),rustc(Rust编译器),cargo(Rust包管理)
- 安装wasm-pack,用于构建、测试发布Rust生成的WebAssembly
- 安装cargo-generate,用于从模板快速启动一个Rsut项目,
cargo install cargo-generate
- 安装npm,用于运行JavaScript bundler和开发服务器
实现Hello World
1.克隆基础模板项目
cargo generate --git https://github.com/rustwasm/wasm-pack-template
2.添加一个新的rust编译器
rustup target add wasm32-unknown-unknown
3.编译
wasm-pack build
启动Web服务器
1.初始化web项目
npm init wasm-app www
2.进入目录www,初始化依赖
npm install
3.在www项目中加载本地依赖wasm-app包
{
// ...
"dependencies": { // Add this three lines block!
"wasm-app": "file:../pkg"
},
"devDependencies": {
//...
}
}
4.运行npm install
在www项目中安装wasm-app依赖
5.修改文件wasm-game-of-life/www/index.js
导入生成的库
6.启动服务器
npm run start