My setup for web development with Yew.
Based on yew-wasm-pack-template.
Make sure you installed rust
, wasm-pack
, and npm
or yarn
.
(I recommend to use yarn
for its speed)
yarn install
Start development server on localhost:8080
. It watches source file changes and rebuild automatically.
yarn dev
Make production build to dist
folder.
yarn build
To reduce wasm file size, There are some optimization options.
I wanted to know its effects, so I took benchmark. Here is the results.
(I didn't check its speed, size only. Used rustc 1.43.0
.)
Production Build | Development Build | |
---|---|---|
No Options | 84.5 KiB | 750 KiB |
LTO | 86.4 KiB | 763 KiB |
opt-level = s | 76.8 KiB | 131 KiB |
opt-level = z | 81.3 KiB | 157 KiB |
LTO + opt-level = s | 76.4 KiB | 129 KiB |
LTO + opt-level = z | 81.3 Kib | 156 KiB |
"No Options" and "LTO" on development build isn't on here because they're too big and prevents see differences.
So this template is using "LTO + opt-level = s" which is smallest output size on production build.
If you want to change this option, see cargo.toml file.