簡體   English   中英

是否可以使用 Github Pages 和 Yew 創建多頁網站?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM