Как динамически создать прото-схему gRPC в nodejs?

Загрузка файлов.proto может быть выполнена путем указания пути к файлу (PROTO_PATH)

var packageDefinition = protoLoader.loadSync(
    PROTO_PATH,
    {keepCase: true,
     longs: String,
     enums: String,
     defaults: true,
     oneofs: true
    });

Как сделать это динамически в node.js? Я хочу построить прототип схемы (типы данных и функции) во время выполнения.

1 ответ

Решение

@grpc/proto-loader библиотека специально сделана для загрузки .proto файлы и не поддерживает динамическое создание протобуф-сообщений или типов сервисов во время выполнения.

Тем не менее, Protobuf.js поддерживает построение типов отражений protobuf во время выполнения ( подробности см. В его README), и его можно использовать для создания PackageDefinition явно использовать объект, а затем загрузить его в библиотеку grpc. Определения типов в этом документе могут быть более понятными.

Другие вопросы по тегам