问题标签 [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.

0 投票
1 回答
130 浏览

reactjs - 404 未找到:protobufjs@^5.0.0

我正在尝试将firebase安装到我的项目中:

什么是404 Not Found: protobufjs@^5.0.0以及如何解决这个问题?

在日志中我看到这个:

0 投票
2 回答
5301 浏览

protoc - 如何使用 protoc 将协议缓冲区字符串编码为二进制

我一直在尝试使用 protoc cli 实用程序对字符串进行编码。注意到输出仍然包含纯文本。我究竟做错了什么?

result.out 包含:

protoc 版本 libprotoc 3.6.0 和 libprotoc 2.5.0

0 投票
1 回答
838 浏览

javascript - ProtobufJS 重复字节字段未正确编码 Uint8Array

我有一个 protobuf 消息定义为:

我加载我的protobuf:

我创建了一个 protobuf 消息对象

然后我对其进行编码

然后我解码并期待

相反,我看到

然后我将我的 protobuf 加载更改为 JSON

这可以按预期工作,没有其他更改。

我做错了什么还是这是一个错误?

谢谢

Protoubuf 版本:6.8.6

浏览器:铬

带有工作 JSON 加载的 JSFiddle 示例:https ://jsfiddle.net/740snmu6/12/

0 投票
0 回答
999 浏览

javascript - protobuf.js 如何为浏览器生成静态 es6 模块?

我的 example.html 包含

我的原型文件看起来像这样

试图像这样构建静态模块

但这似乎并没有生成浏览器可以理解的模块?

0 投票
1 回答
3121 浏览

node.js - 在 Node.js gRPC 客户端中获取“错误:8 RESOURCE_EXHAUSTED:收到的消息大于最大值(15217288 与 4194304)”

如何增加 Node.js gRPC 客户端的最大消息大小?

我们使用grpc,grpc-toolsprotobufjsnpm 包:

0 投票
1 回答
1280 浏览

jestjs - 当我尝试使用 NestJS、Jest 和 GraphQLFederationModule 进行测试时出错

当我尝试使用此模块进行测试时,它给了我以下错误:

开玩笑的配置文件是:

app.module 文件:

当我在 app.module 中尝试以下设置时,它可以正常工作:

我一直在查看它给我错误的文件,我在 node_modules (minimal.js) 中找到了以下 protobufjs 代码:

有谁知道可能会发生什么?谢谢!

0 投票
1 回答
276 浏览

javascript - 如何检查数据/有效负载是否可以被protobuf解码

我有不同格式的数据(有效负载)文件(纯文本、json、xlm、二进制(可以由 protobuf 解码))。要知道如何处理特定文件,我需要知道文件中数据的格式。

问题是是否有可能在没有 .proto(消息)文件的情况下识别文件中的有效负载可以由 protobuf 解码。因此,如果我知道它是 protobuf 编码数据,我将在需要 .proto 文件的地方应用一个逻辑,否则,将应用另一个没有 .proto 文件的逻辑。

我发现的所有内容都需要有 protobuf 消息来验证/解码。

0 投票
1 回答
267 浏览

typescript - Protobuf.js:Writer 似乎没有“完成”

在我的 TypeScript 前端使用 Protobuf 时遇到了一个奇怪的错误。我正在使用 Axios 调用我的 REST API 和 protobuf.js 包以在我的前端处理 Protobuf。我是 protobuf 的新手,这个问题可能源于我缺乏知识。

当我使用有效负载对我的 API 进行多次调用时,就会出现问题。

例如,我想发布 3 个对象:object_1object_2object_3。因此,我提出了三个帖子请求。第一个请求总是被正确处理——<code>object_1 被添加到后端。但是,以下要发布的object_2object_3,正在object_1再次发布。我调查了这个问题,发现我的 protobuf 附加到了有效载荷中。这意味着我在第二个请求的有效负载和,和第三个请求的有效负载中有object_1,和。我的 API 只读取第一个 protobuf,即,并添加了 3 次.object_2object_1object_2object_3object_1object_1

我正在使用文档中所述的 protobuf.js 包:

有没有人已经面对这个问题?我究竟做错了什么?

谢谢!

0 投票
1 回答
1023 浏览

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 中的控制台输出

0 投票
1 回答
2917 浏览

node.js - 如何使用 node.js 中的 .proto 文件解码编码的协议缓冲区数据

我是协议缓冲区的新手,我正在尝试从 api 响应中解码数据。

我从 api 响应中获取编码数据,并且我有一个 .proto 文件来解码数据,如何在 nodeJS 中解码数据。我曾尝试使用 protobuf.js,但我很困惑,我花了几个小时试图解决我的问题,查看资源,但我找不到解决方案。