下面有一个相对简单的helloworld.proto文件
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选项,但我似乎找不到任何选项。有谁有解决这个问题的办法吗?
发布于 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交互的代码。
发布于 2020-07-13 10:39:19
对于那些一直在寻找也可以生成typescript的示例的人,请参阅下面的
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 *.protohttps://stackoverflow.com/questions/62666209
复制相似问题