Using wasm-pack

This tool was created by the Rust / Wasm Working Group and is the most actively developed tool for building WebAssembly applications. It supports packaging code into npm modules and has an accompanying Webpack plugin for easy integration with an existing JavaScript application. More information is given in the wasm-pack documentation.

Using wasm-pack - 图1

note

Note that the crate-type in your Cargo.toml will need to be cdylib when using wasm-pack

Install

  1. cargo install wasm-pack

Build

This command will produce a bundle in the ./pkg directory with your app’s compiled WebAssembly along with a JavaScript wrapper which can be used to start your application.

  1. wasm-pack build --target web

Bundle

For more information on Rollup visit this guide

  1. rollup ./main.js --format iife --file ./pkg/bundle.js

Serve

Feel free to use your preferred server. Here we use a simple Python server to serve the built app.

  1. python -m http.server 8000

Supported Targets

  • wasm32-unknown-unknown