adds feature server_fn_axum that compiles for wasm target (#3840)
The current `axum` feature and `server` feature are incompatible with wasm32-unknown-unknown target due to: 1. depends on axum features not compatible with wasm 2. SSR requires reading the filesystem for index.html With this patch I add the `server_fn_axum` feature which disables SSR and enables targeting wasm32-unknown-unknown with server functions enabled. Note that for this to work, `server_fn` depends on `inventory` and as stated in this docs depending on the context you might need to expose and call [`__wasm_call_ctors`](https://docs.rs/inventory/latest/inventory/#webassembly-and-constructors) (I needed that specifically for cloudflare workers) change axum_server_fn feature for axum_wasm and include SSR tools there This change additionaly make axum_server_fn feature additive by exposing a different `DioxusRouterWasmExt` with only the wasm-compatible parts instead of exposing the `DioxusRouter` trait under the same name. Docs are updated to reflect this change. rename axum_wasm to axum_core and update docs fix typo re-enable default-features for axum in dioxus-cli re-enable axum default-features for liveview re-enable default-features for axum for playwright-tests
This commit is contained in:
10 files changed
+446
-368
No files matched your search
+2
-1
@@ -191,7 +191,7 @@ tauri-utils = { version = "=2.1.1" }
|
||||
tauri-bundler = { version = "=2.2.3" }
|
||||
lru = "0.12.2"
|
||||
async-trait = "0.1.77"
|
||||
axum = "0.7.0"
|
||||
axum = { version = "0.7.0", default-features = false }
|
||||
axum-server = { version = "0.7.1", default-features = false }
|
||||
tower = "0.4.13"
|
||||
http = "1.0.0"
|
||||
@@ -348,6 +348,7 @@ rand = { version = "0.8.4", features = ["small_rng"] }
|
||||
form_urlencoded = "1.2.0"
|
||||
async-std = "1.12.0"
|
||||
web-time = "1.1.0"
|
||||
axum = { workspace = true, default-features = true }
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
getrandom = { version = "0.2.12", features = ["js"] }
|
||||
|
||||
Reference in new issue
Block a user