第三方交互集成
不想用 05 章的自带运行时,也可以把交互交给成熟的第三方库。topcoat 为三个库各提供一个小 crate,加起来 2.4k 行。这一部分只有一章:
- 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
💬 关联讨论
发起讨论加载中...