问题标签 [protobufjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 404 未找到:protobufjs@^5.0.0
我正在尝试将firebase安装到我的项目中:
什么是404 Not Found: protobufjs@^5.0.0
以及如何解决这个问题?
在日志中我看到这个:
protoc - 如何使用 protoc 将协议缓冲区字符串编码为二进制
我一直在尝试使用 protoc cli 实用程序对字符串进行编码。注意到输出仍然包含纯文本。我究竟做错了什么?
result.out 包含:
protoc 版本 libprotoc 3.6.0 和 libprotoc 2.5.0
javascript - ProtobufJS 重复字节字段未正确编码 Uint8Array
我有一个 protobuf 消息定义为:
我加载我的protobuf:
我创建了一个 protobuf 消息对象
然后我对其进行编码
然后我解码并期待
相反,我看到
然后我将我的 protobuf 加载更改为 JSON
这可以按预期工作,没有其他更改。
我做错了什么还是这是一个错误?
谢谢
Protoubuf 版本:6.8.6
浏览器:铬
带有工作 JSON 加载的 JSFiddle 示例:https ://jsfiddle.net/740snmu6/12/
javascript - protobuf.js 如何为浏览器生成静态 es6 模块?
我的 example.html 包含
我的原型文件看起来像这样
试图像这样构建静态模块
但这似乎并没有生成浏览器可以理解的模块?
node.js - 在 Node.js gRPC 客户端中获取“错误:8 RESOURCE_EXHAUSTED:收到的消息大于最大值(15217288 与 4194304)”
如何增加 Node.js gRPC 客户端的最大消息大小?
我们使用grpc
,grpc-tools
和protobufjs
npm 包:
jestjs - 当我尝试使用 NestJS、Jest 和 GraphQLFederationModule 进行测试时出错
当我尝试使用此模块进行测试时,它给了我以下错误:
开玩笑的配置文件是:
app.module 文件:
当我在 app.module 中尝试以下设置时,它可以正常工作:
我一直在查看它给我错误的文件,我在 node_modules (minimal.js) 中找到了以下 protobufjs 代码:
有谁知道可能会发生什么?谢谢!
javascript - 如何检查数据/有效负载是否可以被protobuf解码
我有不同格式的数据(有效负载)文件(纯文本、json、xlm、二进制(可以由 protobuf 解码))。要知道如何处理特定文件,我需要知道文件中数据的格式。
问题是是否有可能在没有 .proto(消息)文件的情况下识别文件中的有效负载可以由 protobuf 解码。因此,如果我知道它是 protobuf 编码数据,我将在需要 .proto 文件的地方应用一个逻辑,否则,将应用另一个没有 .proto 文件的逻辑。
我发现的所有内容都需要有 protobuf 消息来验证/解码。
typescript - Protobuf.js:Writer 似乎没有“完成”
在我的 TypeScript 前端使用 Protobuf 时遇到了一个奇怪的错误。我正在使用 Axios 调用我的 REST API 和 protobuf.js 包以在我的前端处理 Protobuf。我是 protobuf 的新手,这个问题可能源于我缺乏知识。
当我使用有效负载对我的 API 进行多次调用时,就会出现问题。
例如,我想发布 3 个对象:object_1
、object_2
和object_3
。因此,我提出了三个帖子请求。第一个请求总是被正确处理——<code>object_1 被添加到后端。但是,以下要发布的object_2
和object_3
,正在object_1
再次发布。我调查了这个问题,发现我的 protobuf 附加到了有效载荷中。这意味着我在第二个请求的有效负载和,和第三个请求的有效负载中有object_1
,和。我的 API 只读取第一个 protobuf,即,并添加了 3 次.object_2
object_1
object_2
object_3
object_1
object_1
我正在使用文档中所述的 protobuf.js 包:
有没有人已经面对这个问题?我究竟做错了什么?
谢谢!
javascript - protobufjs 中抛出异常“非法缓冲区”
我正在使用 protobufjs 通过 API 管理我的数据。它在大多数情况下都能完美运行,但在一个消息实例中,我得到一个“非法缓冲区”异常。这是由库中的一些内部代码引发的。我在这里粘贴 Chrome 调试器视觉效果,同时在 throw 语句的断点处停止。 Chromer 调试器输出
如您所见,Chrome 告诉我缓冲区确实是一个 Uint8Array(755 字节)。为什么 if 语句解析为 false 并导致 throw 语句被执行?“buffer instanceof Uint8Array”和“Array.isArray(buffer)”都是真的。
更新
我写了一些代码(无意中从 protobufjs 复制并简化了它):
当我调用 test() 时,它会调用 testProtobuf,而后者又会调用 create_array,不会引发异常。我还在实际代码中从我的 onmessage 方法调用 testProtobuf。在这种情况下,仍然会抛出异常。如您所见,我在控制台上记录缓冲区。两个日志是相同的(我确保测试数据相同)。
这是 Chrome 控制台:Chrome 中的控制台输出
node.js - 如何使用 node.js 中的 .proto 文件解码编码的协议缓冲区数据
我是协议缓冲区的新手,我正在尝试从 api 响应中解码数据。
我从 api 响应中获取编码数据,并且我有一个 .proto 文件来解码数据,如何在 nodeJS 中解码数据。我曾尝试使用 protobuf.js,但我很困惑,我花了几个小时试图解决我的问题,查看资源,但我找不到解决方案。