1.0.3 • Published 5 years ago

flash-proto-gen v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
5 years ago

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;
}

转成

export interface UpdateUserInfoRequest {
  id: number
  nickname: string
  avatar: string
  self_introduction: string
  gender: number
  phone_number?: string
  user_tags?: number[]
}

@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 --version
libprotoc 3.5.1