Connect
Connect 是加拿大公司 Buf Technologies, Inc. 首发于 2022 年兼容 gRPC 协议的 RPC 框架。
特性:
- 生成 HTTP 和 gRPC 之间转换网关,同时支持 gRPC、HTTP、Connect RPC 三种协议;
- 支持 Java、Go、JavaScript/TypeScript/node.js、Kotlin、Swift 等主流语言服务端和客户端代码;
注:由于浏览器客户端运行时环境限制,对浏览器端/客户端支持,是通过生成 HTTP 协议 和 JavaScript/TypeScript 代码实现。
生成 React Native/Expo 移动端应用客户端代码
使用
buf或npx buf生成相关语言客户端代码;安装 npm 依赖包:
shell
# OPTIONAL
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
npm install @connectrpc/connect @connectrpc/connect-web @bufbuild/protobuf参考 https://connectrpc.com/docs/web/generating-code
调试工具
VSCode 插件
- httpYac - Quickly and easily send REST, SOAP, GraphQL and gRPC requests
常见问题
Module not found: Can't resolve './xxx_pb.js'
connect-es 插件生成 TypeScript 代码运行时报错 Module not found: Can't resolve './xxx_pb.js'
解决: opt 选项增加 import_extension=none 参数。
