我在React Native
(v0.65.1)中使用google-protobuf
(v3.21.0)时遇到问题,以便使用expressif
(Security1)通过SoftWiFi连接设备(IoT)
在使用curve25519成功创建了私钥和公钥之后,我需要使用protobuf来传递有效负载。为此,我将按照下面的说明进行解释:https://medium.com/@singhandresh09/using-protobuf-in-react-native-7cc8286389f5
在用protoc
编译器成功创建js文件后,我成功地运行了应用程序。
我得到的错误是指protoc session_pb.js
创建的文件:
Can't find variable: proto
goog.object.extend(proto, sec0_pb)
在这里复制它就是我所做的。
- 首先导入创建的js文件.
var session_pb = require('../../../proto/session_pb');
然后用它
const s = new session_pb.S0SessionCmd();
const r = s.setClientPubKey('123');
我注意到,在创建的js文件中,“proto”没有在任何地方定义。
...
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;
var global = (function() { return this || window || global || self || Function('return this')(); }).call(null);
var sec0_pb = require('./sec0_pb.js');
goog.object.extend(proto, sec0_pb); <--- here is where the error occurs
var sec1_pb = require('./sec1_pb.js');
goog.object.extend(proto, sec1_pb);
var sec2_pb = require('./sec2_pb.js');
goog.object.extend(proto, sec2_pb);
...
1条答案
按热度按时间fnvucqvd1#
我遇到了同样的问题,并通过禁用
metro.config.js
中的inlineRequires
解决了它。