This is a fairly minimal template for a Yew app that's built with Trunk.
For a more thorough explanation of Trunk and its features, please head over to the repository.
If you don't already have it installed, it's time to install Rust: https://www.rust-lang.org/tools/install.
The rest of this guide assumes a typical Rust installation which contains both rustup and Cargo.
To compile Rust to WASM, we need to have the wasm32-unknown-unknown target installed.
If you don't already have it, install it with the following command:
rustup target add wasm32-unknown-unknownNow that we have our basics covered, it's time to install the star of the show: Trunk. Simply run the following command to install it:
cargo install trunk wasm-bindgen-cliThat's it, we're done!
trunk serveRebuilds the app whenever a change is detected and runs a local server to host it.
There's also the trunk watch command which does the same thing but without hosting it.
trunk build --releaseThis builds the app in release mode similar to cargo build --release.
You can also pass the --release flag to trunk serve if you need to get every last drop of performance.
Unless overwritten, the output will be located in the dist directory.
There are a few things you have to adjust when adopting this template.
The code in src/main.rs specific to the example is limited to only the view method.
There is, however, a fair bit of Sass in index.scss you can remove.
Update the version, description and repository fields in the Cargo.toml file.
The index.html file also contains a <title> tag that needs updating.
Finally, you should update this very README file to be about your app.