NodeJS 如何在NestJS中导入另一个proto文件

4zcjmb1e  于 2023-03-22  发布在  Node.js
关注(0)|答案(2)|浏览(185)

我遇到过需要将一个文件导入到另一个文件中,但我找不到如何做到这一点的明确解释。
因此,我使用common.proto中的一些消息创建了我的索引proto文件。所有的proto文件都位于同一个目录中。
index.proto:

syntax = "proto3";

import "common.proto";

package index;

common.proto:

syntax = "proto3";

package common;

message Void {}

我收到一条信息:“无法解析导入'common.proto'“

fnatzsnv

fnatzsnv1#

你已经尝试设置--proto_path标志了吗?我在我的环境中试过了,我认为你缺少的是告诉Protobuf文件的位置
您可以在这里找到文档:https://developers.google.com/protocol-buffers/docs/proto3#importing_definitions

lztngnrs

lztngnrs2#

尝试使用includeDirs从目录加载所有proto文件

举个例子:

app.connectMicroservice({
transport: Transport.GRPC,
options: {
  package: 'sample.user',
  protoPath: '/sample/user/user.proto',
  loader: {
    includeDirs: [join(__dirname, '..', 'protos')], // will load all proto files in the diectory 'protos'
  },
},
});

相关问题