Rust in Everything
基于 topcoat 0.10.0

第三方交互集成

不想用 05 章的自带运行时,也可以把交互交给成熟的第三方库。topcoat 为三个库各提供一个小 crate,加起来 2.4k 行。这一部分只有一章:

  1. htmx、Datastar 与 Alpine AJAX:三个 crate 各读哪些请求头、写哪些响应头;实测片段和整页共用一个 URL 却不带 Vary: HX-Request,用一个 layer 补上;Datastar 的 Signals<T> 在 GET 和其他方法下从哪里读,单次补丁也是一条 SSE,SSE 不被压缩;三者都照常过 Origin 检查;和自带运行时的取舍;mail! 用 view! 写正文、自动推出纯文本。
flowchart LR
  lib["htmx、Datastar、Alpine AJAX 的脚本"] -->|"带标记头的请求"| router["topcoat 路由:OriginLayer、layout、handler"]
  router -->|"hx_request、Signals、ajax_targets"| handler["handler"]
  handler -->|"HTML 片段 + 响应头,或 SSE 事件"| lib

💬 关联讨论

发起讨论
加载中...