核心是全程使用wasm-pack. 但是wasm-pack 官方安装指南有坑,描述在此
解决方法是:cargo install wasm-bindgen-cli
然后:
1 wasm-pack new 我的项目名称
2 wasm-pack build --target web
3 创建index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>My Wasm Project</title>
</head>
<body>
<script type="module">
import { default as wasm, greet } from "./pkg/《project name》.js";
wasm().then((module) => {
// The boiler plate project comes with a `greet` function that calls:
// `alert("Hello, hello-wasm!");`
greet();
});
</script>
</body>
</html>
4 python -m http.server 8000
这样,一个最简单的rust wasm模板就好了。此方法,不需要使用node.js,当然你也可以不用python,只要能够运行index.html的任何静态服务器都可以。
此外还有一个必须要提的,cargo.toml加:
[package.metadata.wasm-pack.profile.dev]
wasm-opt = false
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
原因可以自行google