当前位置: 首页 > news >正文

会员管理网站建设wordpress主题 购买

会员管理网站建设,wordpress主题 购买,银狐鑫诺科技 网站建设,微信文件传输助手网页版简介 Buf 是一款更高效、开发者友好的 Protobuf API 管理工具#xff0c;不仅支持代码生成#xff0c;还支持插件和 Protobuf 格式化。 我们可以使用 Buf 替代原本基于 Protoc 的代码生成流程#xff0c;一方面可以统一管理团队 Protoc 插件的版本、代码生成配置#xff… 简介 Buf 是一款更高效、开发者友好的 Protobuf API 管理工具不仅支持代码生成还支持插件和 Protobuf 格式化。 我们可以使用 Buf 替代原本基于 Protoc 的代码生成流程一方面可以统一管理团队 Protoc 插件的版本、代码生成配置另一方面可以简化项目开发配置。 本文将会用两部分内容来简述 Buf 的使用流程涵盖 Golang 服务端开发和前端开发的内容。 基于 Protobuf 生成 Golang 代码。基于 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 GO111MODULEon GOBIN/usr/local/bin go install \ github.com/bufbuild/buf/cmd/bufv1.18.0更多安装方式可以自行查阅官方文档 - Getting Started with the Buf CLI。 安装成功之后我们可以通过 buf --version 命令进行验证。 使用 Buf 生成 Golang 代码 使用 Buf 生成代码可以拆分以下步骤。 初始化 Buf 配置配置 Protobuf 协议格式化和 Lint 校验。编写 Protobuf 协议。初始化 Buf 代码生成配置。运行 Buf 生成代码。 本文将会基于 Buf 提供的 Remote Plugin 工具进行说明。 初始化 Buf 配置 我们在任意项目下创建名为 proto 的目录并使用 buf mod init 初始化 Protobuf 协议的 Buf 配置。 值得注意的是这个目录既可以是前后端共享的路径也可以是共享的集中式 Git 仓库形式取决于项目管理者本身的规划。 此时项目的 proto 目录下会出现一个名为 buf.yaml 的配置文件如图所示。 . └── proto└── buf.yaml一般情况下我们可以考虑改动 buf.yaml 配置如下所示。 version: v1 deps:- buf.build/googleapis/googleapis:main lint:use:- DEFAULTexcept:- PACKAGE_DIRECTORY_MATCH- PACKAGE_VERSION_SUFFIX breaking:use:- FILE改动之后的配置可以允许我们在协议中导入 google 提供的 api禁用包名和目录对不上将会导致编译报错禁用强制包名后缀为版本号将会导致报错。 其中后面两项为 Proto3 协议规范但有时候我们可以根据情况进行调整。 编写 Protobuf 协议 接下来我们继续创建 proto/api 和 proto/api/hello 子目录并在 proto/api/hello 目录下创建文件 hello.proto。 syntax proto3;// 一般情况下 Package 可以按照「项目名.服务类型.服务名」的方式进行命名 package bufexample.api.hello;import google/protobuf/timestamp.proto;// 如果需要生成 Golang 代码需要指定 go_package, 通常是「项目名/服务类型/服务名」即可 option go_package bufexample/api/hello;hello;// Buf 官方推荐服务名后面增 service HelloService {rpc Hello(HelloRequest) returns (HelloResponse) {} }message HelloRequest {string name 1; }message HelloResponse {string name 1;google.protobuf.Timestamp now 2; }完成 Protobuf 协议文件的创建之后我们的目录如图所示。 . └── proto├── api│ └── hello│ └── hello.proto└── buf.yaml初始化 Buf 代码生成配置 完成 Protobuf 协议编写之后我们切换回项目目录并在此创建两个文件分别是 buf.go.gen.yaml 和 buf.ts.gen.yaml 用于生成 Golang 和 Typescript 的代码。 其中 buf.go.gen.yaml 文件用于生成 Golang 的代码内容如下所示。 version: v1 plugins:- plugin: buf.build/protocolbuffers/goout: ./gengo# 这个 module 参数其实就是协议 package 的第一个点的名称去掉的话就会多一层名为 bufexample 的目录opt: modulebufexample- plugin: buf.build/grpc/go:v1.3.0out: ./gengo# 这个 module 参数其实就是协议 package 的第一个点的名称去掉的话就会多一层名为 bufexample 的目录opt: modulebufexample另一个 buf.ts.gen.yaml 文件用于生成 Typescript 类型定义代码内容如下所示。 version: v1 plugins:- plugin: buf.build/bufbuild/esout: ./gents值得注意的是两份配置均使用了远程 运行 Buf 生成代码 在完成上述步骤之后我们可以在项目目录下运行指定命令 buf generate 即可生成代码。 对于 Golang 代码生成我们可以指定 buf.go.gen.yaml 作为生成配置。 buf generate --template ./buf.go.gen.yaml .命令运行之后Buf 工具将会帮助我们生成对应的 Golang 代码值得注意的是第一次运行需要加载远程插件具体耗时取决于您的网络条件。 . ├── buf.go.gen.yaml ├── buf.ts.gen.yaml ├── gengo │ └── api │ └── hello │ ├── hello.pb.go │ └── hello_grpc.pb.go └── proto├── api│ └── hello│ └── hello.proto└── buf.yaml对于 Typescript 类型定义代码我们可以指定 buf.ts.gen.yaml 作为生成配置。 命令运行之后Buf 工具将会帮助我们生成对应的 Typescript 类型定义代码值得注意的是第一次运行同样需要加载远程插件具体耗时取决于您的网络条件。 . ├── buf.go.gen.yaml ├── buf.ts.gen.yaml ├── gents │ └── proto │ └── api │ └── hello │ ├── hello_pb.d.ts │ └── hello_pb.js └── proto├── api│ └── hello│ └── hello.proto└── buf.yaml
http://www.w-s-a.com/news/56705/

相关文章:

  • 房地产怎么做网站推广wordpress插件汉化下载
  • 一般pr做视频过程那个网站有无锡网络公司平台
  • 安徽网站推广系统网站根目录权限设置
  • 班级网站建设需求智慧校园登录入口
  • asp.net网站发布到虚拟主机电商设计网站哪个好
  • 做的网站怎么转成网址链接企业为什么要找会计
  • 关于建设网站的情况说明书文化建设方面的建议
  • 订票网站开发公司大通证券手机版下载官方网站下载
  • 网店美工的意义与发展佛山推广seo排名
  • 网站在建设中模板自助云商城
  • 珠海网站设计建建建设网站公司网站
  • 广州高端网站制作公司哪家好网页制作公司 软件
  • 最快做网站的语言百度站长反馈
  • 简单网站设计价格手机网站技巧
  • 什么颜色做网站显的大气网站建设的含盖哪方面
  • 没网站怎么做二维码扫描连接济南做网站推广哪家好
  • 台州建设规划局网站搞外贸一般是干什么的
  • 怎么提高自己网站的知名度电子商务是建网站
  • 官方查企业的网站办公用品网站建设策划书
  • 微信网站搭建哪家好网站中转页
  • 阿里巴巴网站开发是谁长沙自助模板建站
  • 阿里云网站方案建设书网络公司运营是干啥的
  • 南通seo网站排名优化nginx wordpress rewrite
  • 网站做成软件做内部网站费用
  • 浙江企业网站建设网站域名有了 网站如何建设
  • 学编程哪个机构有权威德州做网站优化
  • 最火的网站开发语言福州网站建设服务商
  • 嘉兴网站制作哪里好asp网站源码免费版
  • 如何给网站配置域名百度网站统计添加网址
  • 搭建wap网站磁力引擎