百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
P

protocol-buffers

> 编程语言
开源

用于 Node.js 的协议缓冲区

760 stars0 点赞2 次浏览
访问官网GitHub

工具介绍

用于 Node.js 的协议缓冲区

协议缓冲区

协议缓冲区 适用于 Node.js

bash
npm install protocol-buffers

使用方法

假设存在以下 test.proto 文件

proto
enum FOO {
  BAR = 1;
}

message Test {
  required float num  = 1;
  required string payload = 2;
}

message AnotherOne {
  repeated FOO list = 1;
}

使用上述 proto 文件,通过执行以下操作来编码/解码消息:

javascript
var protobuf = require('protocol-buffers')

// pass a proto file as a buffer/string or pass a parsed protobuf-schema object
var messages = protobuf(fs.readFileSync('test.proto'))

var buf = messages.Test.encode({
  num: 42,
  payload: 'hello world'
})

console.log(buf) // should print a buffer

要解码消息,请使用 Test.decode

javascript
var obj = messages.Test.decode(buf)
console.log(obj) // should print an object similar to above

枚举的访问方式与消息相同

javascript
var buf = messages.AnotherOne.encode({
  list: [
    messages.FOO.BAR
  ]
})

嵌套枚举可以通过对相应消息的属性进行访问

javascript
var buf = message.SomeMessage.encode({
  list: [
    messages.SomeMessage.NESTED_ENUM.VALUE
  ]
})

有关详细信息,请参阅 Google Protocol Buffers 文档 可用类型等

编译为文件

从 v4 版本开始,您现在可以将您的模式编译为一个 JavaScript 文件,然后从 Node 中加载。这意味着您不需要在运行时解析模式,这对于在浏览器或嵌入式设备上使用时非常有用。此外,它还使依赖项占用空间大大减小。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

JavaScript

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言