代码之家  ›  专栏  ›  技术社区  ›  Va5ili5

当需要GRPC通过创建反应应用程序时,fs.SimulsSyc不是一个函数错误

  •  2
  • Va5ili5  · 技术社区  · 6 年前

    我们试图让gRPC与React一起工作(实际上,我们试图让它与React Native一起工作,但现在放弃了这一点)。

    使用普通node.js如果您遵循 this example .

    我们从使用create react app开始,但在启动应用程序时,出现以下错误:

    existsSync is not a function
    

    这是由于pre-binding.js中的这个位引起的,它属于位于grpc中的节点pre-gyp包:

    var existsSync = require('fs').existsSync || require('path').existsSync;
    

    我的理解是,Webpack(或create react app运行的其他进程)发生了一些事情,它去返回空对象,而不是 require('fs') .

    有没有什么想法可以让它在不放弃CreateReact应用的奇迹的情况下工作?

    要测试它,只需遵循以下两个简单步骤:

    1. 创建react应用程序测试应用程序
    2. 添加 import grpc from 'grpc'; 在App.js文件中
    1 回复  |  直到 6 年前
        1
  •  1
  •   Va5ili5    6 年前

    基本上,根据我现在的理解,您不应该直接从任何前端使用gRPC+Protobuf,而是更常用于 grpc node.js服务器端代码上的node包,然后使用Express与浏览器端代码通信。

    然后node.js上的服务器端代码使用 grpc公司 使用微服务。

    我们正在测试使用Firebase函数与前端进行安全通信,Firebase函数使用 grpc公司 .