protobuf简介
protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。
更详细的介绍参考[百度百科]
egret官方提供的工具
特性
提供 protobuf.js 基础运行时库
提供命令行脚本,将 protofile 生成 JavaScript 代码
生成正确的 .d.ts 代码,以方便 TypeScript 项目使用
一键配置白鹭引擎的配置文件,无需开发者手动修改配置即可在项目中直接集成
原理
封装了 protobufjs 库及命令行。使用 protobufjs 6.8.4 的运行时库。
如何安装
npm install protobufjs@6.8.4 -g npm install @egret/protobuf -g
如何使用
假设用户有个名为 egret-project 的白鹭项目
cd egret-project
将代码和项目结构拷贝至白鹭项目中
pb-egret add
将 protofile 文件放在 egret-project/protobuf/protofile 文件夹中
pb-egret generate
文件将会生成到 protobuf/bundles 文件夹中
更详细内容可参考[官方github仓库]
※版本问题※
重点!很多人在这里掉坑!
安装的nodejs版本如果过高,会引入新语法,从而导致pb-egret generate生成的文件无法通过编译。
建议安装不高于v10.15.2的版本(包含)
找不到nodejs历史版本下载链接的朋友,电梯在这里:
继续阅读
评论