CocosCreator使用protobuf.js序列化数据
天行者1 2
| **绕了个大圈,走了很多冤枉路才发现 ,原来做人,不是永远只有一条路。 其实做什么事情,根本不需要分得那么清楚,闭上眼睛,就分不出来黑与白了。**
|
编写一个需要交互的proto文件
1 2 3 4 5 6
| // awesome.proto syntax = "proto3";
message AwesomeMessage { string name = 1; }
|
编译一个静态的js文件
1 2
| pbjs -t static-module -w commonjs -o awesome.js awesome.proto pbts -o awesome.d.ts awesome.js
|
awesome.js的引用需要修改
1
| var $protobuf = window.protobuf || {};
|
导入一个protobuf.js的最小版本
protobuf.min.js
加入两个编译成的文件
简单测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import { AwesomeMessage } from "./proto/awesome"; ... let asm = AwesomeMessage.fromObject({ name: '你好Proto', });
const buf = AwesomeMessage.encode(asm).finish(); console.log(buf);
let message = AwesomeMessage.decode(buf); let object = AwesomeMessage.toObject(message, { longs: String, enums: String, bytes: String, }); console.log(object);
|