diff --git a/src/assets/index.html b/src/assets/index.html index bff411bee..f907aa281 100644 --- a/src/assets/index.html +++ b/src/assets/index.html @@ -1,23 +1,26 @@ - - {app_title} - - - - {style_include} - - -
- - - {script_include} - - + + {app_title} + + + + {style_include} + + + + +
+ + + {script_include} + + + \ No newline at end of file diff --git a/src/builder.rs b/src/builder.rs index 708e1ce69..bacfcd664 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -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 diff --git a/src/config.rs b/src/config.rs index fbf6f4b9d..9e8b47f7a 100644 --- a/src/config.rs +++ b/src/config.rs @@ -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, + pub base_path: Option, } #[derive(Debug, Clone, Serialize, Deserialize)]