google-protobuf 编译proto文件
使用google-protobuf 工具编译proto文件,Java和JavaScript两端
一、下载protoc编译器
官网下载地址:https://github.com/protocolbuffers/protobuf/releases?page=10
版本:Protocol Buffers v3.14.0
名称:protoc-3.14.0-osx-x86_64.zip
系统:mac,win下载对应的win版本
二、编译proto
服务端 Java
1、创建/更新.proto文件,放到protoc工具同文件夹中
syntax = "proto3";
package com.xxx.xxx.model.proto;
option java_outer_classname="MessageProto";
message Model {
string id = 1;
string action = 2;
string content = 3;
string sender = 4;
string receiver = 5;
string extra = 6;
string title = 7;
string format = 8;
int64 timestamp = 9;
string username = 10;
string role = 11;
string sid = 12;
}
2、执行编译命令
打开终端进入protoc工具的bin目录中:/proto/protoc-3.14.0-osx-x86_64/bin
执行命令:
./protoc --java_out=. Message.proto
Message.proto是服务端的文件,这个文件不在bin目录下时需要指定到这个文件的位置
最终产物在.proto文件中 package 的值目录中,产物文件名是 java_outer_classname 的值
结束,最终产物在当前文件夹下,复制到项目中使用
客户端 JavaScript
1、创建/更新.proto文件,放到protoc工具同文件夹中
syntax = "proto3";
package com.xxx.xxx.model;
message Message {
string id = 1;
string action = 2;
string content = 3;
string sender = 4;
string receiver = 5;
string extra = 6;
string title = 7;
string format = 8;
int64 timestamp = 9;
string username = 10;
string role = 11;
string sid = 12;
}
2、执行编译命令
打开终端进入protoc工具的bin目录中:/proto/protoc-3.14.0-osx-x86_64/bin
2.1、执行命令:
./protoc --js_out=import_style=commonjs,binary:. Message.proto
Message.proto是客户端的文件,执行命令后编译出Message_pb.js文件。
2.2、安装npm 依赖
npm install -g require
npm install -g browserify
npm install google-protobuf
2.3、创建打包的js文件,文件名随便起
var myProto = require('./Message_pb');
module.exports = {
DataProto: myProto
}
Message_pb是2.1的产物文件
2.4、对文件进行编译打包
执行命令:
browserify exports.js > Message.js
Message.js是自定义的名称
结束,最终产物在当前文件夹下,复制到项目中使用