JavaScript使用protobuf对压缩数据进行反序列化

能搜到这篇文章的码友们基本上都是开发中遇到了需要使用protobuf进行数据传输,如果你对protobuf还一无所知,那么建议你去逛逛别的文章再回头看看,关于protobuf就不过多进行介绍了。
这篇文章主要讲述JavaScript使用protobuf对数据进行反序列化,以及前后端数据传输可能遇到的问题。
JavaScript使用protobuf进行反序列化有两种方法:使用官方的编译器和使用protobuf.js库。

使用官方的编译器

1、定义costmap.proto文件。

比如跟后端定义好的文件如下:


image.png

2、安装ProtoBuf编译器

下载ProtoBuf编译器

从github上下载编译器安装包,https://github.com/protocolbuffers/protobuf/releases

image.png

这里选择window的3.20.0版本下载


image.png

下载后解压是这个样子的


image.png

配置编译器环境

把编译器路径添加到环境变量path,保存重启电脑。


image.png

cmd命令行输入protoc -help检查是否安装成功

image.png

image.png

3、将.proto文件转成js文件

protoc --js_out=import_style=commonjs,binary:. ./src/util/aa.proto
image.png

4、node.js编译aa.js成独立可用的js文件

先安装依赖:
npm install -g require
npm install -g browserify

编写protobuf_export.js文件:


image.png

使用browserify命令生成js文件:

browserify protobuf_export.js -o aa_new.js

生成的文件如下:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容