功能请求: 为边缘环境提供内置的带类型的 RPC 客户端 (Cloudflare Workers & Deno Deploy)
作者: fbwe425创建于 2026年9月6日更新于 2026年9月6日
□ 特性请求
页:1
我很想看看Hono的首发RPC客户端**,在Cloudflare工人和德诺部署等边缘环境中无缝工作,不需要Node.js专用适配器.
动机
目前,在Cloudflare Workers(使用Wrangler + Vite)上与Hono一起构建一个全存储应用程序时,服务器和客户端之间共享路由器类型需要自定义设置. " hono/client " 软件包很棒,但是在瞄准边缘运行时间时有一些粗糙的边缘:
- 客户目前依赖全球范围的 " 牵引 " ——明确的环境意识 " 牵引 " 注入 " 将改善工人的相容性(特别是在使用Miniflare的测试环境中)
- 输入客户端中不支持流式 RPC 响应(SSE / 可读 Stream)
- 不宣传错误处理类型——客户端丢失了 " HTTPExcepion " 子类型
提议的API
// 服务器: app. ts Const app = 新Hono( ) .get('/user/:id',ASync (c) {{ 返回 c.json ({ id: c.req.param ('id'), 名称: “ F. B. Weber' } ) ) (中文(简体) ).
导出类型 AppType = app类型
// 客户端: 任何地方( 对接、 浏览器、 节点) 从“ hono/ 客户端” 导入 { hc } 从 “./ app” 导入类型 { AppType }
const客户端 = hc('https://api.example.com',{ 获取: env. servicce BINDING.fetch.bind(env. servicce BINDING), // 服务绑定支持 ) (中文(简体) ).
const res = 等待客户端. user [':id']. $get({parm:{id:'42'}} const 数据=等待第json () / 完全输入
++ 附加上下文
- ZZ2ZZ 工人服务捆绑暴露出一个`相容 ' 的接口——支持这种接口将使零长期性内部RPC**能够使用,而无需HTTP间接费用
- 这将使Hono成为Cloudflare上的微服务架构的天然配乐(类似于TRPC对Next.jsZ所做的).
- 相关:[Cloudflare服务装订文件](https://developers.Cloudflare.com/works/runtime-apis/bondings/service-bondings/)
很想讨论一下设计 乐于提交公关,如果方向达成一致!内容来源: honojs/hono