API Client 与契约
Vext 页面首屏数据不需要生成 API client。首屏数据应优先使用 route handler 和 res.render()。
主数据路径
该路径让 service 调用留在服务端,并输出带 hydration 数据的 SSR HTML。
生成产物
开启 frontend.apiClient 后,Vext 可以生成:
这些产物适合:
- 外部前端适配器
- 类型探针
- hydration 后的客户端 API 调用
- 文档或工具链
公开入口
前端公开入口暴露契约 helper:
只有需要 typed client 边界时才使用。简单页面不要为了读取首屏数据而引入它们。
普通 Fetch 也可以
Hydration 后的小型交互可以直接使用:
确保客户端请求发送正确 Accept header,避免在 SPA fallback scope 内被当作 HTML 导航。
边界规则
生成 client artifacts 描述的是 HTTP 契约,不会让 src/services/** 变成浏览器安全模块。Service 仍然是服务端代码。