Web Assembly 和 Rust:cargo build 与 wasm-pack

Eva*_*oll 7 rust rust-cargo webassembly wasm-pack

构建 wasm 使用的一些示例cargo build(如《WebAssembly 编程》一书中的示例)

cargo build --release --target=wasm32-unknown-unknown
Run Code Online (Sandbox Code Playgroud)

还有其他人使用,

wasm-pack build --target web ....
Run Code Online (Sandbox Code Playgroud)

这两种构建项目的方法有什么不同?

Una*_*dra 6

Wasm-pack 是一个更大的便利应用程序,它提供的不仅仅是简单地构建 Rust 代码。

wasm-pack 提供的其他功能包括:

  • 将 Rust 项目构建为 WebAssembly(相当于cargo build --target=wasm32-unknown-unknown ...
  • 绑定到 Node.js
  • 将结果发布到 npm 注册表。
  • 创建新项目(如cargo new

该工具旨在成为构建和使用 rust 生成的 WebAssembly 的一站式商店,您希望在浏览器中或 Node.js 中与 JavaScript 进行互操作。wasm-pack 帮助您构建 rust 生成的 WebAssembly 包,您可以将其发布到 npm 注册表,或者与您已使用的工作流程中的任何 javascript 包一起使用,例如 webpack 或 greenkeeper。1