通过create-react-app

时间:2018-08-07 15:59:36

标签: node.js reactjs webpack create-react-app grpc

我们正在尝试使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的奇迹吗?

要进行测试,您可以按照以下两个简单步骤操作:

  1. create-react-app test-app
  2. 在App.js文件中添加import grpc from 'grpc';

1 个答案:

答案 0 :(得分:1)

基本上,据我所了解,您实际上不应该直接从任何前端使用gRPC + Protobuf,而是在node.js服务器端代码上使用grpc节点程序包和然后使用Express与浏览器端代码进行通信。

然后,使用grpc与微服务进行通信,node.js上的服务器端代码。

我们正在测试使用Firebase Functions与前端进行安全通信,以及Firebase Functions使用grpc与Go微服务进行通信。