关于protobuf javascript的版本

CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本? 接着,它创建了一个 Player 对象,并使用 protobuf.js 提供的 API 对其进行序列化和反序列化操作。其中,name 和 level 是普通的字段,items 是一个 repeated 字段,表示它可以包含多个值。在 Cocos Creator 中使用 protobuf.js,我们需要先加载 .proto 文件,然后使用 protobuf.js 提供的 API 进行序列化和反序列化操作。JSON和XML是文本格式,更易于阅读和调试,而且在对人类友好的接口和数据交换上更为常见和广泛支持。 阅读详情

转载请注明:http://blog.youkuaiyun.com/herm_lib/article/details/8580917


找了几个protobuf的js版本,官方推荐的两个:

前一个半成品都算不上,肯定不能用;后一个很多特性也不支持。

不小心找到了google closure library的protobuf js版本。很奇怪,这个怎么没有作为官方推荐,以前没用过js,根本不知道有closure这个玩意。找得好辛苦。

closure protobuf js是以plugin的形式支持生成proto文件。

closure library: http://code.google.com/p/closure-library/downloads/list

protobuf-plugin-closure: http://code.google.com/p/protobuf-plugin-closure/source/checkout

js plugin须要我们自己编译,步骤如下:

1. 先下载整个protobuf,编译出protoc和各种lib库。

2. 生成两个支持的proto文件  
./protoc -I./js/protobuf/js/ -I./src --cpp_out=./js/protobuf/js/ ./js/protobuf/js/javascript_package.proto
./protoc -I./js/protobuf/js/ -I./src --cpp_out=./js/protobuf/js/ ./js/protobuf/js/int64_encoding.proto

3. 编译插件
 g++ -I./src -I./js/ ./src/google/protobuf/compiler/plugin.pb.cc ./src/google/protobuf/compiler/plugin.cc ./js/protobuf/js/code_generator.cc ./js/protobuf/js/protoc_gen_js.cc ./javascript_package.pb.cc ./js/protobuf/js/int64_encoding.pb.cc /home/users/h/hu/huangrg/protobuf-2.4.1/src/.libs/libprotobuf.a /home/users/h/hu/huangrg/protobuf-2.4.1/src/.libs/libprotoc.a -o ./js/protoc-gen-js -lpthread

4. 测试一下test.proto

 ./protoc --plugin=./protoc-gen-js -I../ -I../../src/ -I./js --js_out=./js --cpp_out=./js ./js/test.proto


上面要注意,protobuf-plugin-closure的源码资源和整个protobuf路径关系。


http://github.com/sirikata/protojs 安装方法

protojs里面有README,描述了安装方法。

1. 执行./bootstrap.sh

     会执行失败,不能下载antlr-3.2.jar和另外一个C运行库。打开bootstrap.sh,把下载连接改一下:

     http://www.antlr.org/......  改成: http://www.antlr3.org/......

2. make一下,须要java支持,没有java也安装一下java就好了。

    


前端js实现protobuf序列化与反序列化 前端js实现protobuf序列化与反序列化!!!主要介绍如何在前端浏览器中使用protobuf进行对应的序列化与反序列化。 阅读详情

相关推荐

protoc-gen-jsonpb-ts:用于生成TypeScript定义的protoc插件

protoc-gen-jsonpb-ts 这是用于生成TypeScript定义的protoc插件。 特征 根据规范生成TypeScript定义。 ( ) 如果定义了自定义选项,则从方法定义生成请求类( ) 安装 首先,您需要安装ProtocolBuffers v3.0.0或更高版本。 然后,通过npm安装此插件。 npm install protoc-gen-jsonpb-ts --save-dev 用法 该插件使用。 您应该在原型中定义这些选项。 例子 rpc Method(Request) returns (Response) { option (google.api.http) = { post : "/v1/method" body : "*" }; } 然后,使用protoc命令生成定义。 protoc \ -I submodules/

‘protoc-gen-js‘ 不是内部或外部命令,也不是可运行的程序

protoc生成js 版本问题

weixin_44134588的博客 3038

ts-protoc-gen:用于TypeScript和gRPC-Web的协议缓冲区编译器(protoc)插件

ts-protocgen Protoc插件,用于生成TypeScript声明 该存储库包含一个插件,该插件生成与protoc --js_out=import_style=commonjs,binaryJavaScript输出匹配的TypeScript声明( .d.ts文件)。 该插件还可以将服务定义输出为所需的结构中的.js和.d.ts文件,以及所需的结构中的.d.ts文件。 该插件已使用TypeScript 2.7测试和编写。 安装 npm 前提条件是,从或通过软件包管理器(即 , )为您的平台下载或安装protoc (协议缓冲区编译器)。 对于ts​​-protoc-gen插件的

protobuf文件生成js文件详细流程

1,下载用来生成web js文件的工具 protoc-gen-grpc-web 下地地址:protoc-gen-grpc-web 选择:protoc-gen-grpc-web-1.3.1-windows-x86_64.exe 即可 下载完成后改名为protoc-gen-grpc-web.exe并移动到项目里,和proto文件存放在同一目录下 2,下载protoc.exe执行程序下载地址protoc.exe 选择protoc-3.20.1-win32.zip 下载后解压就行,然后把bin文件夹里面的proto

weixin_44134588的博客 7185

WorkVisual传输程序报错_发现一个内部错误

WorkVisual传输程序报错_发现一个内部错误

qq_16401025的博客 2455

S32DS新建工程、编译调试下载、导入工程详细介绍

新建了一个工程之后,下面简单介绍下基本的UI界面。其中最左下角那个是界面,这个界面很重要,是图形化配置界面,然后可以根据这些配置自动生成代码。其中,左边那些配置文件,都是系统帮我们创建好了的,我们其实可以直接用就行。有PE工具的调试,以及Jlink工具的调试。我目前使用到PE工具调试可以查看寄存器值,而Jlink调试查看不了寄存器值。连接了开发板之后,点击Debug就可以吧程序下载到芯片上了,而且可以进入到调试界面。

luobeihai的博客 2万+

用protoc生成gPRC中proto文件的JavaScript调用代码

折腾了一个小时,终于折腾出来咋用protoc生成gPRC服务接口的JavaScript调用代码了,记录一下,希望能帮到大家。

记录与分享 1192

28、沉浸式体验技术:概念、类型与应用

本文全面介绍了沉浸式体验技术的概念、类型与应用。从双边滤波器的图像处理原理切入,系统阐述了VR、AR、MR、ER及数字孪生等核心技术的特点与区别,并通过丰富案例展示了其在商业、医疗、教育、旅游、房地产、物流等多个领域的实际应用。文章还分析了技术融合趋势、硬件升级方向、应用场景拓展潜力,同时探讨了数据处理、网络延迟、隐私安全等挑战及应对策略,最后以流程图和对比表格总结技术发展脉络,展望沉浸式技术推动社会进步的广阔前景。

wind6的博客 380

protobuf.js多版本共存终极指南:轻松解决JavaScript依赖冲突

protobuf.js 是一个纯JavaScript实现的Protocol Buffers库,支持Node.js和浏览器环境。对于JavaScript开发者来说,处理不同版本的protobuf.js依赖冲突是一个常见挑战。本文将为你提供完整的解决方案,帮助你轻松实现protobuf.js多版本共存,彻底解决依赖冲突问题。 ## 为什么需要多版本共存?🤔 在现代JavaScript项目中,你可

gitblog_00149的博客 918

【同等学力】2005-数学⭐✨

有r个正方形排成一行,今用红、黄、白、蓝四种颜色给这个r个正方形染色,每个正方形只能染一种颜色,如果要求染红、黄、白色的正方形分别至少出现一个,问有多少种不同的染法?3、(4分)设G是一个有n个结点m条边的连通简单平面图,若n≥3,则m≤3n-6.4、(4分)证明:任何连通简单平面图至少有一个结点的度数不超过5

super_mochi1 306

【OpenClaw从入门到精通】:Web控制台使用全解析——可视化配置与监控(2026实操版)

在OpenClaw的多种管理方式中,Web控制台提供了最直观、最友好的用户体验。通过图形化界面,用户可以轻松完成复杂的配置任务,实时监控系统状态,以及进行各种管理操作。对于不熟悉命令行的用户来说,Web控制台是最佳选择。

一键难忘的博客 1926

Protobuf 3.20.0版本前后JavaScript的用法区别

Protobuf(Protocol Buffers)是一种高效的结构化数据序列化方法,广泛用于数据传输和存储。Google开发并维护Protobuf,持续发布更新以提升功能和性能。本文将详细介绍Protobuf在3.20.0版本前后在JavaScript中的用法区别,以及这些变化的原因和优点。

全栈工程师,热爱编程,喜欢探索各种技术栈。分享前端、后端、数据库等技术学习心得,以及在项目开发中的实践经验。 1093

GStreamer —— 2.1、Windows搭建GStreamer环境,Qt加载GStreamer库后运行 - “教程1:Hello world!“(附:完整源码)

GStreamer —— 2、Windows搭建GStreamer环境,Qt加载GStreamer库后运行"教程1:Hello world!"

796

终极指南:如何选择protobuf.js的light与minimal版本

Protocol Buffers作为谷歌推出的高效序列化方案,protobuf.js为JavaScript和TypeScript开发者提供了完整实现。但在实际项目中,我们往往需要根据具体场景选择最合适的版本。今天就来深入分析protobuf.js的轻量级方案:light版本和minimal版本,帮助你做出明智的选择。💡 protobuf.js提供了三个主要版本:完整版、light版和minim

gitblog_00430的博客 1096

AI视频生成工作流开发:从产品拆解到带货视频全流程实现

本文介绍了一套完整的AI视频生成工作流开发方案,该系统能够自动分析产品素材并生成9个标准化分镜,支持白底图智能替换,最终输出专业带货视频。系统基于Coze平台搭建,整合豆包大模型及多模态生成模型,实现从产品分析、脚本生成到视频合成的全流程自动化。关键模块包括产品特征提取、智能分镜分配、视觉内容生成和用户交互调整,支持手动优化提示词和输出结果。该方案采用模块化设计,结合多种AI模型协同工作,为电商视频制作提供高效解决方案。

huanghm88的专栏 384

HyperLynx(二十二)DDR(五)DDRx总线时序模型设计

DDR3 的数据选通信号与时钟信号的频率是一样的,在数据选通信号写操作时,控制器典型的输出方式是数据选通信号边沿与时钟近似对齐。该界面中显示了所有需要编辑的参数,包括地址/命令信号的时序、控制信号的时序、读和写操作的数据选通和数据信号时序、写操作的数据选通和数据掩码信号时序,以及建立和保持时间的降额参数。由于DDRx总线对时序的要求非常严格,随着速率的提升,时序的要求会更高。反之也是一样的,如果数据选通信号的上升沿在时钟信号上升沿的后面到达 DRAM,那么数据选通信号的下降沿就会在时钟信号的前面到达。

小幽余生不加糖 1936

protobuf.js模块化设计:如何选择light与minimal版本提升性能

protobuf.js作为JavaScript生态中最优秀的Protocol Buffers实现之一,其模块化设计理念让开发者能够根据项目需求选择最适合的版本。本文将深入解析protobuf.js的light版本和minimal版本的区别,帮助你做出明智的技术选型决策。😊 ## 📊 三种版本的功能对比 protobuf.js提供了三个不同级别的版本,每个版本都有其特定的使用场景和功能特点:

gitblog_00440的博客 887

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IDEA中protobuf 各版本编译java文件和js文件

1、protobuf文件: syntax = "proto2"; message MsgProto { required int32 version = 1; optional LineProto line = 2; } message LineProto { required int32 number = 1; repeated Line list ...

weixin_43231872的博客 1219

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精简protobuf.js:light与minimal版本3步上手优化指南

你是否在项目中遇到protobuf.js包体积过大的问题?是否希望在保持核心功能的同时减少资源占用?本文将通过3个步骤,带你掌握protobuf.js的light与minimal版本配置方法,帮你实现项目轻量化,提升加载速度。读完本文,你将了解两个精简版本的区别、适用场景及具体使用方法,让你的Protocol Buffers应用更高效。 ## 版本对比:light与minimal核心差异 pr

gitblog_00685的博客 855

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

js版本的protobuf使用

步骤一:建一个协议文件cs.proto,客户端服务端共享 //cleint <---> scene syntax = "proto2"; package cs; enum ID { //锦囊系统 ID_C2S_EquipSilkbag = 31370; ID_S2C_EquipSilkbag = 31371; } // 装备锦囊 message C2S_EquipSilkbag { optional uint32 pos = 1; optional uint

HzjCsdn的博客 1231

Cocos Creator Protobuf的js版本使用

cocoscreator protobuf

s178435865的专栏 1108

告别兼容性陷阱:protobuf.js 3与2版本核心差异及无痛迁移指南

你是否在升级protobuf.js时遇到过诡异的解析错误?是否因字段默认值突然变化而排查到深夜?本文将系统梳理proto2与proto3的核心差异,提供包含代码示例的迁移路径,并总结10个关键注意事项,帮你避开90%的升级坑点。 ## 版本差异速览:从语法到行为的底层变革 protobuf.js通过不同的解析器和代码生成目标处理proto2与proto3语法。核心差异体现在[src/parse...

gitblog_00033的博客 828

google protobuf javascript Any类型的编码解码

javascript any类型的字段设值方式

weixin_43336861的博客 1386

protobuf.js文档翻译

Protocol Buffers是一种跨语言、跨平台、可扩展的序列化结构化数据的方式,用于通信协议、数据存储等,最初由Google设计。protobuf.js是一个纯JavaScript实现,支持node.js和浏览器的TypeScript。它易于使用,速度惊人,并且可以与.proto文件一起开箱即用!

qq_42179237的博客 949

protobuf.js版本迁移终极指南:从旧版平滑升级到v7.x

protobuf.js是一款高效的JavaScript Protobuf库,支持浏览器和Node.js环境,让开发者能够轻松处理Protocol Buffers数据。本指南将帮助你从旧版本平滑过渡到v7.x,掌握关键变化和升级技巧,避免常见陷阱,确保项目稳定运行。 ## 🌟 为什么选择升级到v7.x? v7.x版本带来了多项重要改进,包括性能优化、API增强和错误修复。升级后,你将获得更快的

gitblog_00204的博客 691
上一篇: Lua的反射
下一篇: 记录一下制作cocos2d-x android apk包的过程
herm_lib
博客等级 码龄16年 173粉丝 115原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值