This is an example of using component composition to compose an example app with spin-fileserver, a reusable component for serving static files.
- Spin v2.0+
- Rust
- cargo-component
- wac
- NodeJS
- componentize-js
- curl or a web browser for testing
Once you have Rust and NodeJS installed, the following should give you everything else:
rustup target add wasm32-wasi
cargo install cargo-component
cargo install wac-cli
npm install -g @bytecodealliance/jco @bytecodealliance/componentize-js
To build and run the example, run:
spin build -u
Then, in another terminal, you can test it using curl
:
curl -i http://127.0.0.1:3000/hello
The above should return a response body Hello, world!
, served up by the
example app itself. All other URIs are handled by spin-fileserver
, e.g.:
curl -i http://127.0.0.1:3000/foo.txt
curl -i http://127.0.0.1:3000/nonexistent.txt