Buf 教程 - 使用 Protobuf 生成 Golang 代码和 Typescript 类型定义

Buf Logo

简介

Buf 是一款更高效、开发者友好的 Protobuf API 管理工具,不仅支持代码生成,还支持插件和 Protobuf 格式化。

我们可以使用 Buf 替代原本基于 Protoc 的代码生成流程,一方面可以统一管理团队 Protoc 插件的版本、代码生成配置,另一方面可以简化项目开发配置。

本文将会用两部分内容来简述 Buf 的使用流程,涵盖 Golang 服务端开发和前端开发的内容。

  1. 基于 Protobuf 生成 Golang 代码。
  2. 基于 Protobuf 生成 Typescript 类型定义代码。

Buf 安装

如果您使用的是 Macos,可以直接通过 Brew 安装。

brew install bufbuild/buf/buf

如果您使用的是 Windows,推荐您通过 Golang 的 install 命令安装。

# Substitute GOBIN for your bin directory
# Leave unset to default to $GOPATH/bin
GO111MODULE=on GOBIN=/usr/local/bin go install \
github.com/bufbuild/buf/cmd/buf@v1.18.0

更多安装方式可以自行查阅官方文档 - Getting Started with the Buf CLI

安装成功之后,我们可以通过 buf --version 命令进行验证。

使用 Buf 生成 Golang 代码

使用 Buf 生成代码可以拆分以下步骤。

  1. 初始化 Buf 配置(配置 Protobuf 协议格式化和 Lint 校验)。
  2. 编写 Protobuf 协议。
  3. 初始化 Buf 代码生成配置。
  4. 运行 Buf 生成代码。

本文将会基于 Buf 提供的 Remote Plugin 工具进行说明。

初始化 Buf 配置

我们在任意项目下创建名为 proto 的目录并使用 buf mod init

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值