Fix base path on web and fullstack (#3247)
* Create a crate for constant serialization of config structs for manganis * use SerializeConst for the image asset builder * switch to a declarative macro for assets * clean up asset macro a bit * add serializable options for each asset type * serialize const vec * Add unique path formatting * implement the new manganis macro * optimize assets in the CLI * Fix clippy * Fix assets with dioxus formattable * reduce fuzzing test limits * use the new syntax in examples * fix formatting * Final doc and test pass on const-serialize * fix avif support * Fix manganis doc tests * cache asset optimization * Split out asset and bundled asset * make hash pointer width independent * remove const serialize cargo lock * Fix manganis macro docs * all tests passing * add constvec::is_empty method to fix clippy lint * remove nasm feature * simplify test_rsplit_once test so typos passes * fix range syntax for stable * revert example change from clippy fix * remove dioxus-static-site-generation workspace dependency * always accept unix paths * fix windows path seperator * fix folder asset hash * Optimize assets in a blocking task * Fix asset options docs * Document Asset and BundledAsset * move manganis back into it's own folder * simplify the linker macro a bit * add more docs to AssetParser expansion * fix manganis core doc test * add image format helpers * Fill in new cargo.tomls * fix folders with explicit options * Split by both unix and windows path separators and take the smallest one * fix string length * Fix base path on web and fullstack * Fix assets with base path * fix fullstack base route with trailing slash * fix clippy
This commit is contained in:
1 parent
1e8693a0e8
commit
3d62fbf021
20 files changed
+254
-41
No files matched your search
@@ -12,7 +12,7 @@ keywords = ["dom", "ui", "gui", "react", "wasm"]
|
||||
[dependencies]
|
||||
dioxus-core = { workspace = true }
|
||||
dioxus-core-types = { workspace = true }
|
||||
dioxus-cli-config = { workspace = true }
|
||||
dioxus-cli-config = { workspace = true, features = ["web"] }
|
||||
dioxus-html = { workspace = true }
|
||||
dioxus-history = { workspace = true }
|
||||
dioxus-document = { workspace = true }
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
use scroll::ScrollPosition;
|
||||
use std::path::PathBuf;
|
||||
use wasm_bindgen::JsCast;
|
||||
use wasm_bindgen::{prelude::Closure, JsValue};
|
||||
use web_sys::{window, Window};
|
||||
@@ -7,9 +6,8 @@ use web_sys::{Event, History, ScrollRestoration};
|
||||
|
||||
mod scroll;
|
||||
|
||||
#[allow(dead_code)]
|
||||
fn base_path() -> Option<PathBuf> {
|
||||
let base_path = dioxus_cli_config::base_path();
|
||||
fn base_path() -> Option<String> {
|
||||
let base_path = dioxus_cli_config::web_base_path();
|
||||
tracing::trace!("Using base_path from the CLI: {:?}", base_path);
|
||||
base_path
|
||||
}
|
||||
@@ -77,9 +75,10 @@ impl WebHistory {
|
||||
|
||||
let prefix = prefix
|
||||
// If there isn't a base path, try to grab one from the CLI
|
||||
.or_else(|| base_path().map(|s| s.display().to_string()))
|
||||
.or_else(base_path)
|
||||
// Normalize the prefix to start and end with no slashes
|
||||
.map(|prefix| prefix.trim_matches('/').to_string())
|
||||
.as_ref()
|
||||
.map(|prefix| prefix.trim_matches('/'))
|
||||
// If the prefix is empty, don't add it
|
||||
.filter(|prefix| !prefix.is_empty())
|
||||
// Otherwise, start with a slash
|
||||
|
||||
Reference in new issue
Block a user