纪录cocos creator使用protobuff
protobuf的有点和缺点
protobuf的有点有:体积小,性能好,效率高,当然protobuf也有缺点,这里我们仅仅用使用角度来考虑,不做过多研究,可参考 protobuf的优缺点
protobuf协议的转换
protobuf的使用方法有静态方法和动态方法两种。微信小游戏只支持静态的方法,本文主要纪录根据proto文件,生成静态的*.js文件,并且使用pbts根据静态文件生成ts文件,这样在代码中就会有代码提示。这样编程就会方便很多。
在本地安装node和npm
这个网上很多,本人机器上已经安装,这里不再过多说明,可以参考网络上的相应文章。node和npm的安装
安装protobuf和protobuf-cli工具
打开控制台使用如下命令
//全局安装protobuf
npm install protobufjs -g
//全局安装命令工具
npm install protobufjs-cli -g
执行以上两个命令正常情况就能够正确安装protobuf和命令行工具
协议的装换 & 将.proto文件装换成为.js文件并且声称ts文件声明
pbjs --dependency protobufjs/minimal.js --no-service --no-convert --no-comments --no-delimited --no-create --no-beautify --no-verify --target static-module --wrap commonjs --out outprotojs.js source.proto
//使用如下命令根据声称的js文件生成ts声明
pbts.cmd --main --out outjs.d.ts outjs.js
通过上面两个命令可以将proto协议文件生成对应的js和ts声明文件
在cocos creator的项目目录下安装protobuf的第三方包
npm install protobuf --save
至此将生成的.js .d.ts放在项目中就能够正确的使用protobuf学协议数据进行正确的序列化和反序列化
在cocos creator的引用需要注意的
//引用 生成的 js文件。
import common from ‘./common/common.js’;
正确这里编辑器会爆红。需要在 tsconfig.json中添加如下配置
"allowSyntheticDefaultImports": true, // 需要开启 允许有默认导出
很赞哦! (0)