前端JS使用protobuf

环境:Mac

安装 protobuf

安装protobuf的编译器,以便编译出各种适合语言的proto文件

#brew安装
brew install protobuf
#检查版本
protoc --version
编译指令

(假设现在用于js)

protoc *.proto --js_out=import_style=commonjs,binary:../pb
protoc --js_out=import_style=commonjs,binary:. test.proto

*.proto 表示选中当前目录的所有后缀为 .proto 的文件,也可以用具体某个文件
如果没有进到 * .proto 文件所在的目录,也可以加上路径:…/path1/*.proto 这种。但是如果proto之间有相互引用,就不要加路径了ÿ

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
前端使用 ProtobufProtocol Buffers)可以通过以下步骤: 1. 安装依赖:首先,你需要在 Vue 项目中安装 protobuf.js 库。可以使用 npm 或者 yarn 进行安装: ```bash npm install protobufjs ``` 2. 定义你的 Protobuf 消息:在 Vue 项目中,你可以创建一个 `.proto` 文件来定义你的消息结构。例如,创建一个名为 `message.proto` 的文件,并在其中定义你的消息类型。 ```protobuf syntax = "proto3"; message MyMessage { string name = 1; int32 age = 2; } ``` 3. 编译 Protobuf 文件:使用 protobuf.js 的命令行工具 `pbjs` 来编译你的 `.proto` 文件。在项目的根目录下运行以下命令: ```bash npx pbjs -t static -w es6 -o src/protobufBundle.js path/to/message.proto ``` 这将生成一个名为 `protobufBundle.js` 的文件,其中包含了编译后的 Protobuf 消息定义。 4. 引入 protobuf.js 和生成的 bundle 文件:在 Vue 组件中引入 protobuf.js 和生成的 bundle 文件。 ```javascript import protobuf from 'protobufjs'; import protobufBundle from './protobufBundle'; // 加载编译后的 Protobuf 消息定义 const root = protobuf.parse(protobufBundle).root; const MyMessage = root.lookupType('MyMessage'); ``` 5. 使用 Protobuf 消息:现在你可以在 Vue 组件中使用 Protobuf 消息了。例如,你可以创建一个表单,将用户输入的值存储到 Protobuf 消息中,并进行序列化和发送。 ```javascript export default { data() { return { name: '', age: 0, serializedMessage: '', }; }, methods: { sendMessage() { // 创建一个新的消息对象 const message = MyMessage.create({ name: this.name, age: this.age, }); // 序列化消息对象 const buffer = MyMessage.encode(message).finish(); // 将序列化后的消息发送到服务器等等 // ... // 将序列化后的消息保存到组件的数据中,以备显示或其他用途 this.serializedMessage = buffer; }, }, }; ``` 这样,你就可以在 Vue 组件中使用 Protobuf 消息了。记得根据你的实际需求来修改和扩展上述代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值