.. | ||
e2e | ||
src | ||
.gitignore | ||
Cargo.toml | ||
LICENSE | ||
Makefile.toml | ||
README.md |
Leptos Starter Template
This is a template for use with the Leptos web framework and the cargo-leptos tool.
Creating your template repo
If you don't have cargo-leptos
installed you can install it with
cargo install cargo-leptos
Then run
cargo leptos new --git leptos-rs/start
to generate a new project template.
cd {projectname}
to go to your newly created project.
Of course you should explore around the project structure, but the best place to start with your application code is in src/app.rs
.
Running your project
cargo leptos watch
Installing Additional Tools
By default, cargo-leptos
uses nightly
Rust, cargo-generate
, and sass
. If you run into any trouble, you may need to install one or more of these tools.
rustup toolchain install nightly --allow-downgrade
- make sure you have Rust nightlyrustup default nightly
- setup nightly as default, or you can use rust-toolchain file later onrustup target add wasm32-unknown-unknown
- add the ability to compile Rust to WebAssemblycargo install cargo-generate
- installcargo-generate
binary (should be installed automatically in future)npm install -g sass
- installdart-sass
(should be optional in future)
Executing a Server on a Remote Machine Without the Toolchain
After running a cargo leptos build --release
the minimum files needed are:
- The server binary located in
target/server/release
- The
site
directory and all files within located intarget/site
Copy these files to your remote server. The directory structure should be:
suspense_tests
site/
Set the following enviornment variables (updating for your project as needed):
LEPTOS_OUTPUT_NAME="suspense_tests"
LEPTOS_SITE_ROOT="site"
LEPTOS_SITE_PKG_DIR="pkg"
LEPTOS_SITE_ADDR="127.0.0.1:3000"
LEPTOS_RELOAD_PORT="3001"
Finally, run the server binary.
Testing
This example includes quality checks and end-to-end testing.
To get started run this once.
cargo make ci
To only run the UI tests...
cargo make start-webdriver
cargo leptos watch # or cargo run...
cargo make test-ui
See the E2E README for more information about the testing strategy.