fs.existsSync is not a function error 当通过create-react-app请求grpc时
fs.existsSync is not a function error when requiring grpc through create-react-app
我们正试图让 gRPC 与 React 一起工作(实际上我们试图让它与 React-Native 一起工作,但现在放弃了)。
如果您遵循 this example.
,使用简单的 node.js 事情会非常简单
我们开始使用 create-react-app 但是当我们启动应用程序时,我们收到以下错误:
existsSync is not a function
这是由位于 grpc:
的 node-pre-gyp 包的 pre-binding.js 中的这一点引起的
var existsSync = require('fs').existsSync || require('path').existsSync;
我的理解是 Webpack(或 create-react-app 的其他进程 运行)发生了一些事情,并且 returns 和空对象而不是 require('fs')
。
关于如何在不放弃 create-react-app 的奇迹的情况下让它工作的任何想法?
要进行测试,您只需按照以下 2 个简单的步骤操作即可:
- 创建反应应用程序测试应用程序
- 在App.js文件中添加
import grpc from 'grpc';
基本上,据我现在的了解,您实际上不应该直接从任何前端使用 gRPC + Protobuf,而是更常见的是在 node.js 服务器上使用 grpc
节点包端代码,然后使用 Express 与浏览器端代码通信。
node.js 上的服务器端代码然后使用 grpc
与微服务进行通信。
我们正在测试使用 Firebase Functions 与前端进行安全通信,并且 Firebase Functions 使用 grpc
.
与 Go 微服务进行通信
我们正试图让 gRPC 与 React 一起工作(实际上我们试图让它与 React-Native 一起工作,但现在放弃了)。
如果您遵循 this example.
,使用简单的 node.js 事情会非常简单我们开始使用 create-react-app 但是当我们启动应用程序时,我们收到以下错误:
existsSync is not a function
这是由位于 grpc:
的 node-pre-gyp 包的 pre-binding.js 中的这一点引起的var existsSync = require('fs').existsSync || require('path').existsSync;
我的理解是 Webpack(或 create-react-app 的其他进程 运行)发生了一些事情,并且 returns 和空对象而不是 require('fs')
。
关于如何在不放弃 create-react-app 的奇迹的情况下让它工作的任何想法?
要进行测试,您只需按照以下 2 个简单的步骤操作即可:
- 创建反应应用程序测试应用程序
- 在App.js文件中添加
import grpc from 'grpc';
基本上,据我现在的了解,您实际上不应该直接从任何前端使用 gRPC + Protobuf,而是更常见的是在 node.js 服务器上使用 grpc
节点包端代码,然后使用 Express 与浏览器端代码通信。
node.js 上的服务器端代码然后使用 grpc
与微服务进行通信。
我们正在测试使用 Firebase Functions 与前端进行安全通信,并且 Firebase Functions 使用 grpc
.