nodejs 使用protobuf
- 在 hyperledger-fabric中是传输协议使用的是protobuf,在基于该项目有一个项目使用node。则需要使用nodejs的protobuf ,本文使用的是google-protobuf。
google_protobuf_js - 首先新建一个测试项目,node_proto文件夹
- 在该文件夹下,安装google-protobuf。
- 安装protoc。
- 首先查看 google-protobuf的版本 npm view google-protobuf versions
- 在node_proto下新建package.json
- 我们用3.6.0版本。在node_proto下新建package.json,写入:{
“dependencies”: {
“google-protobuf”: “3.6.0”
}
}
-
然后npm Install
-
新建proto文件,写入
syntax = "proto3"; package ccprotos; message requestModel{ string msg = 10; string code = 11; }
-
根据google_protobuf_js的文档,使用CommonJS imports。protoc --js_out=import_style=commonjs,binary:. .\proto_exam.proto,
-
之后新建main.js ,测试proto。
var basepb = require(’./proto_exam_pb’);
var message = new basepb.requestModel();
message.setMsg(“hello”);
message.setCode(“200”);
var bytes = message.serializeBinary(); console.log(bytes);
var message2 = basepb.requestModel.deserializeBinary(bytes);
console.log(message2);