当前位置 : 主页 > 大数据 > 区块链 >

Protobuf之JavaScript客户端简单应用

来源:互联网 收集:自由互联 发布时间:2021-06-22
Protobuf之JavaScript客户端简单应用 用到的工具 protoc : 根据协议文件生成指定语言的protobuf代码 CommonJS : js模块化规范 npm : Nodejs包管理工具 browserify : CommonJS格式转换工具 protoc下载 : https:

Protobuf之JavaScript客户端简单应用

用到的工具

protoc : 根据协议文件生成指定语言的protobuf代码
CommonJS : js模块化规范
npm : Nodejs包管理工具
browserify : CommonJS格式转换工具

protoc下载 : https://github.com/google/protobuf/releases

安装相关npm工具

npm install -g require
npm install -g browserify
npm install google-protobuf

定义proto协议文件,这里用比较常用的用户登录为例
login.proto

syntax = "proto3";
// 用户登录
message c2s_login {
    string email = 1;
    string password = 2;
    string captcha = 3;
}

protobuf js 代码生成(login_pb.js)
protoc --js_out=import_style=commonjs,binary:. ./login.proto

定义导出文件
exports.js

var loginProto = require("./login_pb");

module.exports = {
    DataProto: loginProto
};

用browserify转换打包
browserify exports.js > protobuf.js

在浏览器中使用

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="protobuf.js" type="text/javascript"></script>
<title>Protobuf for JavaScript</title>
</head>
<body>
<script type="text/javascript"> var login = new proto.c2s_login(); login.setEmail("everyone@gmail.com"); login.setPassword("123456"); login.setCaptcha("abcd"); console.log("bytes:"+login.serializeBinary()); </script>
</body>
</html>

输出

参考:
http://www.voidcn.com/article/p-xbkhajzc-b.html
http://www.ruanyifeng.com/blog/2015/05/commonjs-in-browser.html

网友评论