0x00 记第一次编译Rust项目并用npm部署【Sandspied/orb.farm】
2024.9.28更新:npm要给vscode管理员权限,还要开启TUN模式。
2024.10.7更新:项目部署成功~,目前解决办法是run之后重新执行wasm-pack build。
项目代码
https://github.com/maxbittker/sandspiel
https://github.com/MaxBittker/orb.farm
技术栈
1 Rust
具有高效、内存安全等特性的高级语言。
2 Cargo
Rust的包管理器。
3 WebAssembly
在现代Web开发中,WASM已成为一种强大的工具。它使得开发者可以在浏览器中运行高性能的代码,跨越传统的JavaScript性能限制。
WebAssembly可以通过C++或者Rust直接编译为网页的工具,是除了js的另一种可以在Web运行的语言,具体来说,会将生成后的.wasm文件嵌入到网页中的<script>里。
而在Cargo中,wasm包名为wasm-pack,通过cargo install wasm-pack安装。wasm-pack build命令会编译Rust为WebAssembly。需要注意的是,命令执行的目录必须要有Rust核心配置文件Cargo.toml。
4 Node.js
js最开始是运行在浏览器上的,浏览器中的V8引擎可以将js代码编译为机器代码。而Node.js其作用就是为V8提供了容器,可以直接在服务端作为js运行时环境。
5 npm
npm是Node.js中的js包管理器,可以从网络上下载代码从而复用,管理本地安装npm包的最好方式就是在项目中创建package.json。
npm install命令可以把package.json中devDependencies字段里的插件自动下载到node_modules下。
npm run xxx会执行package.json中scripts字段里对应的xxx命令,在本项目中,执行的是webpack命令(同样是一个npm中的包,在devDependencies里可以找到),作用是将所有包合并为一个js文件并启动服务监听地址。

组内项目需要嵌入一个沙盘游戏,目前选择了这个进行测试。
浙公网安备 33010602011771号