我正在尝试使用gRPC进行项目,其中服务器使用golang编写,客户端使用节点编写
我有像这样的protobuf文件结构
- $GOPATH/src/company/api
|- server
|- svc1
|- svc1.proto
|- svc2
|- svc2.proto
|- hardware
|- hardware1
|- hardware1.proto
|- hardware2
|- hardware2.proto
|- lib
|- used-by-both
|- used-by-both.proto
在定义使用lib目录中某些内容的服务时,我使用-I$GOPATH/src
然后使用原始文件中的import "company/api/lib/used-by-both";
导入,当我使用 for golang 时生成一切。
但是,当我生成节点文件时,当lib
目录作为节点模块安装时,依赖于来自api
的文件的包中的导入路径是不正确的
如果我尝试使编译器的-I
选项更具体并缩短import
语句,那么golang包导入会搞砸
有关如何最好地编译这些原型文件的任何建议,以便像使用和节点模块一样轻松使用它们?