[英]Is it possible to create a multi-paged website using Github Pages and Yew?
我剛剛開始使用 Rust 和 Yew 創建一個投資組合網站。 我不打算做任何服務器端邏輯,所以我自然而然地認為 Github 頁面符合我的需要。
這是我在 Yew 網站上的代碼。
#[derive(Debug, Clone, Copy, PartialEq, Routable)]
enum AppRoute {
#[at("/")]
Home,
#[at("/about")]
About,
#[not_found]
#[at("/404")]
NotFound,
}
#[function_component]
fn App() -> Html {
html! {
<>
<BrowserRouter>
<Switch<AppRoute> render={
|route| match route {
AppRoute::Home => html! { <h1>{ "Hello, world!" }</h1> },
AppRoute::About => html! {
<>
<h1>{ "About" }</h1>
<p> { "This page was created using " }
<a href="https://www.rust-lang.org/">{ "Rust" }</a> {", "}
<a href="https://yew.rs/">{ "Yew" }</a> {" and "}
<a href="https://trunkrs.dev/">{ "Trunk" }</a>
{ "." }
</p>
</>
},
AppRoute::NotFound => html! { <h1>{ "404: Page not found." }</h1> },
}
} />
</BrowserRouter>
</>
}
}
fn main() {
yew::Renderer::<App>::new().render();
}
我正在使用yew-router crate 路由到不同的頁面。 例如,將 url 更改為website.github.io/about
會將我轉到AppRoute
枚舉中定義的about
頁面。
但是,當我嘗試在瀏覽器中輸入 URL 時,我得到一個 Github 404 頁面未找到。 我假設這是因為 Github 試圖找到一個名為about
並且不能找到的存儲庫。
我如何才能在 URL 中使用多個頁面?
基於以下 Stack Overflow 的回答,我的理論是您需要使用HashRouter 。 盡管這些集中在 React 上,但本質問題與 Yew 相同
警告:我是 Yew 的新手,沒有使用 GitHub 頁面的經驗。 我最近在研究 Yew 路由時遇到了這個問題。 以下是一些更具體的 Rust/Yew:
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.