带角度6的GRPC Web客户端

Asa*_*hah 4 typescript grpc angular grpc-web

我已经使用grpc .net客户端和使用Java创建的grpc服务器,如何在带有Typescript的angular 6上实现grpc Web客户端?另外我该如何创建原型文件,它是为打字稿打字的?我正在关注此存储库,但无法生成原始文件。

Asa*_*hah 5

花了一段时间后,我可以通过以下步骤为打字稿创建原型文件:

  1. 从此链接下载用于Windows的protobuf 。提取文件后,设置protoc.exe的路径变量
  2. 安装npm软件包 npm install google-protobuf @types/google-protobuf grpc-web-client ts-protoc-gen --save
  3. 安装后,使用以下命令生成打字稿文件: protoc --plugin="protoc-gen-ts=absolute-path-to-your-project\node_modules\.bin\protoc-gen-ts.cmd" --js_out="import_style=commonjs,binary:${OUT_DIR}" --ts_out="service=true:${OUT_DIR}" your.proto
  4. 最后像本仓库中所述使用它。


Kim*_*m T 5

您还可以通过运行以下命令使其工作:

npm install google-protobuf protoc ts-protoc-gen
Run Code Online (Sandbox Code Playgroud)

然后将编译脚本添加到 package.json 中:

"compile": "./node_modules/protoc/protoc/bin/protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --js_out=import_style=commonjs,binary:src/app/proto-gen --ts_out=service=true:src/app/proto -I ./src/app/proto ./src/app/proto/**/*.proto",
Run Code Online (Sandbox Code Playgroud)

现在您可以使用以下命令将 .proto 文件编译为服务:

npm run compile
Run Code Online (Sandbox Code Playgroud)

您可以在这里看到该方法的工作原理:

https://github.com/kmturley/angular-nest-grpc