我们正在尝试使gRPC与React一起使用(实际上,我们试图使其与React-Native一起使用,但现在已放弃了)。
如果遵循this example,则使用普通的node.js会很简单。
我们从使用create-react-app开始,但是在启动应用程序时,出现以下错误:
existsSync is not a function
这是由于pre-binding.js中属于grpc的node-pre-gyp软件包的这一位引起的:
var existsSync = require('fs').existsSync || require('path').existsSync;
我的理解是,Webpack(或由create-react-app运行的其他进程)发生了某些事情,该过程可以返回并清空对象而不是require('fs')
。
有什么想法可以使它工作而又不必放弃create-react-app的奇迹吗?
要进行测试,您可以按照以下两个简单步骤操作:
import grpc from 'grpc';
答案 0 :(得分:1)
基本上,据我所了解,您实际上不应该直接从任何前端使用gRPC + Protobuf,而是在node.js服务器端代码上使用grpc
节点程序包和然后使用Express与浏览器端代码进行通信。
然后,使用grpc
与微服务进行通信,node.js上的服务器端代码。
我们正在测试使用Firebase Functions与前端进行安全通信,以及Firebase Functions使用grpc
与Go微服务进行通信。