š You can play around the live demo here
Everything you need to build a Svelte project, powered by create-svelte.
If you're seeing this, you've probably already done this step. Congrats!
# create a new project in the current directory
npm create svelte@latest
# create a new project in my-app
npm create svelte@latest my-app
Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
To create a production version of your app:
npm run build
You can preview the production build with npm run preview.
To deploy your app, you may need to install an adapter for your target environment.
Install Rust by going to the Install Rust page and following the instructions.
cargo install wasm-pack
cargo new --lib my-package
// my-package/src/lib.rs
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
By adding crate-type = ["cdylib"]
[package]
name = "my-package"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
wasm-bindgen = "0.2.87"
[lib]
crate-type = ["cdylib"]
cd my-package
wasm-pack build --target web
And drop it in the /lib folder of your Svelte app
// src/routes/+page.svelte
import init, { add } from "$lib/pkg/my_package";
onMount(async () => {
await init();
});
function handleClick(): void {
result = add(numberA, numberB);
}