Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

介绍cargo-leptos

到目前为止,我们只是在浏览器中运行代码,并使用Trunk来协调构建过程和运行本地开发过程。如果我们要添加服务器端渲染,我们还需要在服务器上运行应用程序代码。这意味着我们需要构建两个单独的二进制文件,一个编译为本机代码并运行服务器,另一个编译为WebAssembly(WASM)并在用户的浏览器中运行。此外,服务器需要知道如何将此WASM版本(以及初始化它所需的JavaScript)提供给浏览器。

这不是一个不可克服的任务,但它增加了一些复杂性。为了方便和更好的开发者体验,我们构建了cargo-leptos构建工具。cargo-leptos基本上存在于协调应用程序的构建过程,处理在您进行更改时重新编译服务器和客户端部分,并为Tailwind、SASS和测试等内容添加一些内置支持。

开始使用非常简单。只需运行

cargo install --locked cargo-leptos

然后要创建新项目,您可以运行

# 对于Actix模板
cargo leptos new --git https://github.com/leptos-rs/start-actix

# 对于Axum模板
cargo leptos new --git https://github.com/leptos-rs/start-axum

确保您已添加wasm32-unknown-unknown目标,以便Rust可以将您的代码编译为WebAssembly以在浏览器中运行。

rustup target add wasm32-unknown-unknown

现在cd进入您创建的目录并运行

cargo leptos watch

一旦您的应用程序编译完成,您可以打开浏览器到http://localhost:3000查看它。

cargo-leptos有很多额外的功能和内置工具。您可以在其README了解更多。

但是当您打开浏览器到localhost:3000时到底发生了什么?好吧,继续阅读找出答案。