Expand description
链接悬停预取:把站内地址映射到路由,提前下载目标页面的 WASM 分包。
JS 协调器(libs/yggdrasil-core/src/route-transitions.ts)在鼠标停留、键盘聚焦或触屏
按下站内链接时,把“路径 + 查询”(无前缀、无哈希)交给 prefetch。
match_route 的匹配表与 src/app.rs 的路由表一一对应,新增路由时两处一起改;
漏改只会少一次预取,不影响导航。
Enums§
- Admin
Page /admin/*子页面。- Route
Target - 悬停目标。参数是路由器会看到的值:路径段经
Url::unescape解码,查询值同样解码。
Functions§
- match_
route route为“路径 + 可选查询”(无前缀、无哈希)。不匹配任何页面返回None。- prefetch
- 预取目标路由:总是预取视图分包;
with_data时再预取页面数据。is_admin为假时跳过/admin*:访客悬停后台链接不下载后台分包。 - query_
value 🔒 - 查询串里第一个名为
key的参数值(键、值都解码)。 - route_
view_ names - 直开该页面时水合要加载的路由视图分包名:
Lazy::<XxxRoute>的视图函数在分包清单里 叫__xxx_route_view_<哈希>,这里给出其中的xxx(后台页面先是外壳,再是子页面)。 SSR 据此只为当前路由预载分包,见app::HydrationScriptsWithPreload;漏改只会少预载。