mirror of
https://github.com/yewstack/yew.git
synced 2025-12-08 21:26:25 +00:00
* Add links to the sidebar.
* Remove unnecessary `page-ref`s (these links are now in the sidebar).
* Small grammar/style fix.
* Fix code tabs.
* Remove {% page-ref %} uses.
* Fix some line lengths.
* Split out `custom.css` into multiple files.
* Remove duplicate titles.
46 lines
1.2 KiB
Markdown
46 lines
1.2 KiB
Markdown
---
|
|
id: wasm-pack
|
|
title: 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](https://github.com/wasm-tool/wasm-pack-plugin) for easy integration with an existing JavaScript application. More information is given in [the `wasm-pack` documentation](https://rustwasm.github.io/docs/wasm-pack/introduction.html).
|
|
|
|
:::note
|
|
Note that the crate-type in your `Cargo.toml` will need to be `cdylib` when using `wasm-pack`
|
|
:::
|
|
|
|
## Install
|
|
|
|
```bash
|
|
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.
|
|
|
|
```bash
|
|
wasm-pack build --target web
|
|
```
|
|
|
|
## Bundle
|
|
|
|
For more information on Rollup visit this [guide](https://rollupjs.org/guide/en/#quick-start)
|
|
|
|
```bash
|
|
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.
|
|
|
|
```bash
|
|
python -m http.server 8000
|
|
```
|
|
|
|
## Supported Targets
|
|
|
|
* `wasm32-unknown-unknown`
|