Merge pull request #29 from bbirchnz/master

Better support for SPA
This commit is contained in:
YuKun Liu authored and GitHub committed 2022-04-07 13:50:57 +08:00
commit 05199ecdc6
3 files changed
+36 -25

No files matched your search

+24 -21
View File
@@ -1,23 +1,26 @@
<html>
<head>
<title>{app_title}</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" />
{style_include}
</head>
<body>
<div id="main"></div>
<!-- Note the usage of `type=module` here as this is an ES6 module -->
<script type="module">
import init from "./assets/dioxus/{app_name}.js";
init("./assets/dioxus/{app_name}_bg.wasm").then(wasm => {
if (wasm.__wbindgen_start == undefined) {
wasm.main();
}
});
</script>
{script_include}
</body>
</html>
<head>
<title>{app_title}</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" />
{style_include}
</head>
<body>
<div id="main"></div>
<!-- Note the usage of `type=module` here as this is an ES6 module -->
<script type="module">
import init from "{base_path}/assets/dioxus/{app_name}.js";
init("{base_path}/assets/dioxus/{app_name}_bg.wasm").then(wasm => {
if (wasm.__wbindgen_start == undefined) {
wasm.main();
}
});
</script>
{script_include}
</body>
</html>
+9 -3
View File
@@ -82,20 +82,21 @@ pub fn build(config: &CrateConfig) -> Result<()> {
bindgen_builder
.input_path(input_path)
.web(true).unwrap()
.web(true)
.unwrap()
.debug(true)
.demangle(true)
.keep_debug(true)
.remove_name_section(false)
.remove_producers_section(false)
.out_name(&dioxus_config.application.name)
.generate(&bindgen_outdir).unwrap();
.generate(&bindgen_outdir)
.unwrap();
});
if bindgen_result.is_err() {
log::error!("Bindgen build failed! \nThis is probably due to the Bindgen version, dioxus-cli using `0.2.79` Bindgen crate.");
}
// this code will copy all public file to the output dir
let copy_options = fs_extra::dir::CopyOptions {
overwrite: true,
@@ -278,6 +279,11 @@ pub fn gen_page(config: &DioxusConfig, serve: bool) -> String {
html = html.replace("{app_name}", &config.application.name);
html = match &config.web.app.base_path {
Some(path) => html.replace("{base_path}", path),
None => html.replace("{base_path}", "."),
};
let title = config
.web
.app
+3 -1
View File
@@ -39,11 +39,12 @@ impl Default for DioxusConfig {
web: WebConfig {
app: WebAppConfing {
title: Some("dioxus | ⛺".into()),
base_path: None,
},
watcher: WebWatcherConfing {
watch_path: Some(vec![PathBuf::from("src")]),
reload_html: Some(false),
index_on_404: Some(false),
index_on_404: Some(true),
},
resource: WebResourceConfing {
dev: WebDevResourceConfing {
@@ -77,6 +78,7 @@ pub struct WebConfig {
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebAppConfing {
pub title: Option<String>,
pub base_path: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]