mirror of
https://github.com/DioxusLabs/dioxus
synced 2025-02-17 14:18:27 +00:00
prefech wasm + JS by default
This commit is contained in:
parent
bfcb0f6eab
commit
5ffdb4dbed
2 changed files with 27 additions and 19 deletions
|
@ -41,15 +41,12 @@ fn main() {
|
|||
// If the path is unknown, render the application
|
||||
.fallback(
|
||||
move |uri: http::uri::Uri, State(ssr_state): State<SSRState>| {
|
||||
let rendered = ssr_state.render(
|
||||
&ServeConfig::new(
|
||||
App,
|
||||
AppProps {
|
||||
route: Some(format!("http://{addr}{uri}")),
|
||||
},
|
||||
)
|
||||
.head(r#"<title>Hello World!</title>"#),
|
||||
);
|
||||
let rendered = ssr_state.render(&ServeConfig::new(
|
||||
App,
|
||||
AppProps {
|
||||
route: Some(format!("http://{addr}{uri}")),
|
||||
},
|
||||
));
|
||||
async move { axum::body::Full::from(rendered) }
|
||||
},
|
||||
)
|
||||
|
|
|
@ -20,25 +20,36 @@ fn dioxus_ssr_html<P: 'static + Clone>(cfg: &ServeConfig<P>, renderer: &mut Rend
|
|||
let mut vdom = VirtualDom::new_with_props(*app, props.clone());
|
||||
let _ = vdom.rebuild();
|
||||
let base_path = base_path.unwrap_or(".");
|
||||
let head = head.unwrap_or(
|
||||
r#"<title>Dioxus Application</title>
|
||||
<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta charset="UTF-8" />"#,
|
||||
);
|
||||
|
||||
let mut html = String::new();
|
||||
|
||||
if let Err(err) = write!(
|
||||
&mut html,
|
||||
r#"
|
||||
let result = match head {
|
||||
Some(head) => {
|
||||
write!(
|
||||
&mut html,
|
||||
r#"
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>{head}
|
||||
</head>
|
||||
<body>
|
||||
<div id="main">"#
|
||||
) {
|
||||
)
|
||||
}
|
||||
None => {
|
||||
write!(
|
||||
&mut html,
|
||||
r#"<title>Dioxus Application</title>
|
||||
<link rel="preload" href="/{base_path}/assets/dioxus/{application_name}_bg.wasm" as="fetch" type="application/wasm" crossorigin="" />
|
||||
<link rel="modulepreload" href="/{base_path}/assets/dioxus/{application_name}.js" />
|
||||
<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta charset="UTF-8" />"#
|
||||
)
|
||||
}
|
||||
};
|
||||
|
||||
if let Err(err) = result {
|
||||
eprintln!("Failed to write to html: {}", err);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue