我使用gRPC -web与gRPC上的java后端进行通信。我在前端使用ReactJS,它使用grpc-web来解释protobuffers。
我得到这个奇怪的错误。我的原型是正确的(我使用一个名为"bloom"的反射工具进行了检查)。所以后端很好)这似乎是我在ReactJS中使用的grpc库内部的错误。
我得到以下错误:
TypeError: Cannot read properties of undefined (reading 'MethodInfo')
上面的错误指向我的proto文件:dashboard_services_grpc_web_pb.js
在这个文件中,它指向这一行
const methodInfo_DashboardService_userLogin = new grpc.web.AbstractClientBase.MethodInfo( ...... );
我很难解决这个问题,因为根据我的理解,grpc.web.AbstractClientBase
是grpc-web
原生的东西。
我也重新安装了我的node_modules,希望这是一个版本问题,但无济于事。
我遇到了同样的问题,因为我使用的是可执行protoc-gen-grpc-web
的旧版本,而不是grpc-web
的当前版本。使用1.3.0版本为我解决了这个问题。您可以在这里下载protoc-gen-grpc-web
的最新版本。
在我的例子中,它发生在缓存清除之后,因为我们有:
"grpc-web": "^1.2.1",
,它是安装版本1.3.0
,我把它改为:
"grpc-web": "1.2.1",
和yarn
再次修复此问题!