Update README to talk about building for web
This commit is contained in:
27
README.md
27
README.md
@@ -16,6 +16,29 @@ Use `cargo run --features=dynamic_linking` for faster cycle times when modifying
|
|||||||
|
|
||||||
Run `cargo run --release --target=wasm32-unknown-unknown`. This will start a dummy webserver, *wasm-server-runner*, which in turn hosts a dummy webpage that loads the WASM file. Run the program by visiting the dummy site in your browser: [http://localhost:1334]
|
Run `cargo run --release --target=wasm32-unknown-unknown`. This will start a dummy webserver, *wasm-server-runner*, which in turn hosts a dummy webpage that loads the WASM file. Run the program by visiting the dummy site in your browser: [http://localhost:1334]
|
||||||
|
|
||||||
This requires the `wasm-server-runner` crate to be installed: `cargo install wasm-server-runner`.
|
To make a "real" deployment, I use the output of `wasm-bindgen --web` and the tiny index.html here in the repo. These are thrown at whatever webserver is available at hand.
|
||||||
|
|
||||||
**TODO:** A "real deployment" section.
|
```sh
|
||||||
|
# Build the program
|
||||||
|
user@host:~/chaos-game-rs$ cargo build --release --target wasm32-unknown-unknown
|
||||||
|
user@host:~/chaos-game-rs$ wasm-bindgen --no-typescript --target web --out-dir out/ --out-name "chaos-game-rs" target/wasm32-unknown-unknown/release/chaos-game-rs.wasm
|
||||||
|
|
||||||
|
# Place the HTML, JS, and WASM all together in a web root.
|
||||||
|
# Here, I'll reuse the ./out/ folder
|
||||||
|
user@host:~/chaos-game-rs$ cp index.html ./out/index.html
|
||||||
|
|
||||||
|
# Host the files with an HTTP server. Any will do, but some are easier to
|
||||||
|
# configure than others.
|
||||||
|
|
||||||
|
# BusyBox's httpd (note that "httpd" might mean Apache2 or Nginx on your
|
||||||
|
# machine. Check the manual for the right flags).
|
||||||
|
user@host:~/chaos-game-rs$ httpd -f -p 8080 -h ./out
|
||||||
|
|
||||||
|
# Python's http.server module
|
||||||
|
user@host:~/chaos-game-rs$ python3 -m http.server -p 8080 -d ./out
|
||||||
|
|
||||||
|
# Or, again, the wasm-sever-runner, from the start of this section
|
||||||
|
user@host:~/chaos-game-rs$ cargo run --target=wasm32... # etc, etc
|
||||||
|
```
|
||||||
|
|
||||||
|
The `wasm-bindgen` tool offers [other module formats](https://rustwasm.github.io/docs/wasm-bindgen/reference/deployment.html), which may be of interest for anyone trying to use this as one of many pages on a site. I may come back to explore that later, but for now it's just a couple of files to manually move around.
|
||||||
|
|||||||
Reference in New Issue
Block a user