赞
踩
cargo install cargo-generate
安装过程中有问题的话手动安装cargo-generate下载地址
根据自己的系统下载压缩包,然后解压到用户/.cargo/bind目录下,将解压后的文件放到该目录下即可。
执行cargo generate --git https://github.com/rustwasm/wasm-pack-template
,然后输入项目名即可,然后可以看到本地创建了一个项目,目录如下:
wasm
├── Cargo.toml
├── LICENSE_APACHE
├── LICENSE_MIT
├── README.md
└── src
├── lib.rs
└── utils.rs
src/lib.rs是根文件,会被打包编译为wasm
mod utils;
use wasm_bindgen::prelude::*;
// 这里暴露web的api供rust调用
#[wasm_bindgen]
extern "C" {
fn alert(s: &str);
}
#[wasm_bindgen]
pub fn greet() {
alert("Hello, wasm!");
}
wasm-bindgen能够让js和rust之间进行交互。
wasm-bindgen文档
cd进项目,然后执行cargo check
安装依赖
wasm-pack build --target web
wasm-pack文档地址
这个命令做了以下几件事:
wasm-pack build 将做以下几件事:
cd pkg
npm publish --access=public
将我们的wasm包发布npm前端直接下载
vite的项目pnpm create vite vite-wasm --template react-ts
webpack的项目这里我用的rspack,pnpm create rsbuild@latest
然后安装依赖即可
将我们刚刚rust生成的pkg复制到项目中,然后执行pnpm i ./pkg
pnpm i ./pkg
安装wasm的依赖
1.在rspack项目中
import './App.css';
import wasm from 'wasm'
const App = () => {
wasm().then(wasm_fn => {
wasm_fn.greet()
})
return (
<div className="content">
rspack-wasm
</div>
);
};
export default App;
2.vite中使用,同上一样的使用方式,直接看结果
cargo generate
创建wasm项目模版。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。