Intro
flash-proto-gen 基于 protoc-gen-json-ts 扩展属性的注释信息 // @optional
代码如下
message UpdateUserInfoRequest {
int32 id = 1;
string nickname = 2;
string avatar = 3;
string self_introduction = 4;
int32 gender = 5;
// @optional
string phone_number = 6;
// @optional
repeated int32 user_tags = 7;
}
转成
@optional
的属性增加 ?
修饰符,变成可选字段
Usage
protoc --plugin=protoc-gen-json-ts=./node_modules/flash-proto-gen/bin/protoc-gen-json-ts --json-ts_out=:src/services -I ./apidoc/proto ./apidoc/proto/oktights/oktights.proto
Parameter
--json-ts_out
- 指定生成路径
指定生成文件的路径及给插件的参数--json-ts_out=:src/services,指将服务文件生成到src/services文件夹中。
- apiPath 指定生成文件生成文件对应的api调用文件路径,--json-ts_out=apiPath=./api:src/services
-I
protobuf文件的根路径,一般为./apidoc/proto。
安装
$ yarn add flash-proto-gen -D
这个包还依赖 protobuf 官方的二进制文件,可以通过下面两种方式安装
手动安装
进入https://github.com/google/protobuf/releases ,下载对应的protoc二进制文件。
通过 Homebrew 安装
$ brew install protobuf
确保你安装完的 protoc 的版本是 3.0 以上
$ protoc --versionlibprotoc 3.5.1