从 proto 文件加载服务描述符
Node.js 库会动态地从运行时加载的 .proto
文件中生成服务描述符和客户端 stub(存根)定义。
要加载 .proto
文件,只需 requite
gRPC proto loader 库并使用其 loadSync()
方法,然后将输出传递给 gRPC 库的 loadPackageDefinition
方法:
var PROTO_PATH = __dirname + '/../../protos/route_guide.proto';
var grpc = require('@grpc/grpc-js');
var protoLoader = require('@grpc/proto-loader');
// 与现有 grpc.load 行为保持兼容相似的建议选项
var packageDefinition = protoLoader.loadSync(
PROTO_PATH,
{keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true
});
var protoDescriptor = grpc.loadPackageDefinition(packageDefinition);
// protoDescriptor 对象具有完整的包层次结构
var routeguide = protoDescriptor.routeguide;
完成后,存根构造函数在 routeguide
命名空间中(protoDescriptor.routeguide.RouteGuide
),服务描述符(用于创建服务器)是存根的属性(protoDescriptor.routeguide.RouteGuide.service
)。
Loading...
> 此处输出代码运行结果