Skip to content

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 移动端应用客户端代码

  1. 使用 bufnpx buf 生成相关语言客户端代码;

  2. 安装 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 参数。

ref: https://github.com/connectrpc/connect-es/issues/981

Released under the CC-BY-NC-4.0