Javascript中使用protobuf
protobuf是由google推出的和语言无关和平台无关,可扩展的序列化数据结构协议,类似于XML,但是比XML更小、更快、更简单。protobuf几乎支持当前的大部分语言,当然也支持JavaScript。
JavaScript使用protobuf主要有如下几个步骤:
1、下载一个编译protobuf的js编译器。
https://github.com/protocolbuffers/protobuf/releases
2、准备一个proto文件,personTest.proto
syntax = "proto2";message Person {required string name = 1;required int32 id = 2;optional string email = 3;
}
3、使用 " --js_out=import_style=commonjs,binary:." "语句利用protobuf的编译器编译proto文件将会在该目录下生成名为personTest_pb.js的编译后的js文件;
4、该编译文件的使用。
<1>、需要再次将该Js打包,需要一个引入文件require.js,一个打包的browserify.js/webpack等;
npm install require -g
npm install browserify -g
npm install google-protobuf
<2>、然后新建一个打包的js文件,export.js
var address = require('./personTest_pb');
module.exports = {
DataProto: address
}
<3>、然后执行打包命令“browserify exprort.js -o personTest_main.js”,打包完成的js就可以使用了。
<4>、引入js文件使用;
<html> <head> <script type="text/javascript" src="./personTest_main.js"></script> </head><body>protobuf</body><script type="text/javascript">var person1 = new proto.Person(); //Address对应的就是proto文件中message 名person1.setName("Tom");person1.setId("2");person1.setEmail("xxxxxxxxx@xx.com");console.log(person1.toObject());//{email: "xxxxxxxxx@xx.com",id: "2",name: "Tom"}console.log(person1.getName()); //Tom</script>
</html>
5、protobuf在js中的api,在google-protobuf中查询即可。
https://developers.google.cn/protocol-buffers/docs/reference/javascript-generated
Javascript中使用protobuf相关推荐
- JavaScript 中的BOM对象
认识BOM操作 BOM :浏览器对象模型(Browser Object Model) 简称BOM,由浏览器提供的用于处理文档(document)之外的所有内容的其他对象 比如navigator.loc ...
- 浅析 JavaScript 中的 函数 uncurrying 反柯里化
柯里化 柯里化又称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至返回最后结果. 因此柯里化的过程是 ...
- JavaScript中,this的绑定规则
对于 JavaScript 新手来说,this 是非常基础同时也难以理解的知识点. 比如下面的代码,this 指向就有三种方式. 在<你不知道的 JavaScript>一书中,我总算比较清 ...
- Javascript中undefined,NaN等特殊比较
以下内容转自: http://blog.csdn.net/hongweigg/article/details/38090093 1.问题:在Javascript中,typeof(undefined) ...
- Javascript中二进制数据处理方法
Javascript中二进制数据处理方法 转载于:https://www.cnblogs.com/motadou/archive/2012/02/19/2358514.html
- JavaScript 中的有限状态机
http://www.ibm.com/developerworks/cn/web/wa-finitemach/ JavaScript 中的有限状态机 Page navigation 系列文章 有限状态 ...
- 在Javascript中使用面向对象的编程
by Mike Koss March 26th, 2003 这是一篇,我个人认为最好的,Javascript面向对象编程的文章.翻译不好的地方,还望大家指正,谢谢. 如果您需要,可以访问下面的地址取得 ...
- 取出url中的字符_如何在JavaScript中解析URL:例如主机名,路径名,查询,哈希?...
统一资源定位符(缩写URL)是对Web资源(网页,图像,文件)的引用.URL指定资源位置和检索资源的机制(http,ftp,mailto). 例如,这是此博客文章的URL: 通常,您需要访问URL的特 ...
- 在javascript中判断类型
String 一个字符串始终是一个字符串,所以这一块是很容易.除非使用new(new String)调用,否则typeof将返回"object".所以也要包含那些可以使用的字符串i ...
最新文章
- 移动端iPhone系列适配问题的一些坑
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
- react学习笔记(二)编写第一个react组件
- 报名照片审核处理工具_初级报名!你的照片怎么处理才能通过审核
- geek 创业型网站
- 命令测试post_性能测试脚本编写之三
- 03-命令图片.doc
- MIME媒体类型:简介,作用(描述并标记多媒体内容),示例
- visual studio内存溢出检测工具_详解JVM内存管理与垃圾回收机制2 何为垃圾
- 如何利用c语言写九九乘法表
- 全球及中国树脂晶圆切割刀片行业需求状况及竞争前景分析报告2021-2027年
- 史上最详细的Maven安装教程
- 如何使用小米手机的便签功能
- 利用python requests库在百度图库上下载图片
- 20170330今日头条笔试题
- 数据结构手把手教学——单向循环链表
- NOIP总结与反思及对今后的期望
- ASCII码对应表chr(9)、chr(10)、chr(13)、chr(34)、chr(39)、chr(46)
- 对于神经网络学习 Maxwell 方程的思考——泛化能力
- 基于web在线购物商城网站的设计与实现(学生网页设计作业源码)