首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJS:协议生成的文件不生成服务定义

NodeJS:协议生成的文件不生成服务定义
EN

Stack Overflow用户
提问于 2020-07-01 05:11:34
回答 2查看 731关注 0票数 0

下面有一个相对简单的helloworld.proto文件

代码语言:javascript
复制
syntax = "proto3";

package helloworld;

service Greeter { rpc SayHello(HelloRequest) returns (HelloResponse); }

message HelloRequest { string name = 1; }

message HelloResponse { string message = 1; }

当我运行protoc --js_out=import_style=commonjs,binary:. .\helloworld.proto时,它会生成一个helloworld_pb.js文件,但它既不包含我的Greeter服务,也不包含我的SayHello rpc函数。看了看其他一些帖子和谷歌的参考资料(https://developers.google.com/protocol-buffers/docs/reference/overview),似乎我需要包含一个--plugin选项,但我似乎找不到任何选项。有谁有解决这个问题的办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-07 04:15:57

节点gRPC的protoc插件在grpc-tools npm package中分发。该包提供了一个自动包含插件的protoc版本的工具grpc_tools_node_protoc

正如该软件包的自述文件中所述,当您运行该工具时,您还需要使用--grpc_out参数来控制插件。这个问题被标记为grpc-js,因此您可能希望对该参数使用grpc_js选项来生成与grpc-js交互的代码。

票数 3
EN

Stack Overflow用户

发布于 2020-07-13 10:39:19

对于那些一直在寻找也可以生成typescript的示例的人,请参阅下面的

代码语言:javascript
复制
grpc_tools_node_protoc.cmd --js_out=import_style=commonjs,binary:.\output --grpc_out=generate_package_definition:.\output *.proto

grpc_tools_node_protoc.cmd  --plugin=protoc-gen-ts.cmd=./node_modules/.bin/protoc-gen-ts --ts_out=.\typescript -I .\output *.proto
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62666209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档