当前位置: 首页 > news >正文

cocos creator 使用 protobuf 的步骤与注意事项

  1. 移除可能曾安装过的protobuf
// 移除全局
npm remove -g protobufjs
npm remove -g protobufjs-cli
npm remove -g pbjs
// 移除项目中的
npm remove --save protobufjs
npm remove --save protobufjs-cli
npm remove --save pbjs
  1. 全局安装
npm i -g protobufjs		//或者	cnpm i -g protobufjs
npm install -g protobufjs		//或者	cnpm install -g protobufjs
npm i --g protobufjs-cli		/或者		cnpm i --g protobufjs-cli//如果需要保存至项目,添加save将会自动写入到package.json中
npm i --save protobufjs protobufjs-cli
npm i --save protobufjs
npm i --save protobufjs-cli
  1. 创建一个简单的proto测试文件(这里取名player.proto)
syntax = "proto3";
message PlayerInfo {int32 userId = 1;string userName = 3;
}
  1. 生成js和.d.ts文件

pbjs: proto文件转换成js文件的命令

pbts: js文件转换成.d.ts文件的命令

-t static-module: 指定输出的模块类型为静态模块

-w commonjs: 指定生成的代码符合 CommonJS 模块规范,使其可以在 Node.js 等环境中使用。

-o {WritePath/WriteFile.js} {ReadPath/ReadFile.proto]: 将指定的proto文件进行转换并指定输出的文件名和路径。

pbjs -t static-module -w commonjs -o ./player.js ./player.proto
pbts -o ./player.d.ts ./player.js

也可以将所有proto文件合并生成到一个js和ts文件下

#将所有proto合并到一个整体的proto.js文件
pbjs -t static-module -w commonjs -o ./proto.js *.proto
pbts -o ./proto.d.ts ./proto.js
  1. 导入的时候可能出现模块找不到的问题

解决方案:输入自己的路径导入,使用类似命名空间的方式使用(示例:PlayerInfo类型写法proto.PlayerInfo

import {default as proto} from "./proto.js"
http://www.lryc.cn/news/446879.html

相关文章:

  • mac访达查找文件目录
  • 【数据结构】点分治 点分树
  • K8s Calico替换为Cilium,以及安装Cilium过程(鲁莽版)
  • 背景图鼠标放上去切换图片过渡效果
  • 【Linux】当前进展
  • 阿里云云效多个ssh密钥对配置
  • 前后端跨域问题及其在ThinkPHP中的解决方案
  • 基于CentOS7上安装MicroK8s(最小生产的 Kubernetes)
  • 从《GTA5》的反外挂斗争看网络安全的重要性
  • python如何将字符转换为数字
  • TikTok流量不佳:是网络环境选择不当还是其他原因?
  • QT菜单栏设计(二级菜单栏)
  • 网站建设中,常用的后台技术有哪些,他们分别擅长做什么网站平台
  • 【线程】POSIX信号量---基于环形队列的生产消费者模型
  • Excel 设置自动换行
  • UNI-SOP使用说明
  • 记录-java web 生成并下载zip文件
  • 大数据集群部署文档
  • HTML中的表单(超详细)
  • 初识 C 语言(一)
  • LiveNVR监控流媒体Onvif/RTSP功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大
  • element ui中当el-dialog需要做全屏时,.fullscreen样式修改问题
  • C++的明星之我是类001
  • 深度学习与应用:行人跟踪
  • MySQL | DATE_ADD()函数
  • DVWA 靶场环境搭建
  • Autosar学习----AUTOSAR_SWS_BSWGeneral(七)
  • 自动化测试框架集成:将Selenium集成到pytest与unittest中
  • 华为GaussDB数据库(单机版)在ARM环境下的安装指南
  • 计算机网络笔记002