npm install protocol-buffers
协议文件 test.proto
message Course {
required float id = 1;
required string name = 2;
repeated Lesson lesson = 3;
}
message Lesson {
required float id = 1;
required string title = 2;
}
测试 test.js
const fs = require('fs');
const protobuf = require('protocol-buffers');
// 根据协议,编译出一个js逻辑对象,里面包含encode和decode函数
// 实际写web服务器的时候,注意这个操作可以直接在进程启动就做
// 否则在http处理过程里做的话,是一次不必要的性能消耗
const schemas = protobuf(fs.readFileSync(`${__dirname}/test.proto`));
// encode
const buffer = schemas.Course.encode({
id: 4,
name: 'hh',
lesson: []
})
console.log(buffer)
// decode
console.log(
schemas.Course.decode(buffer)
)
根据协议,编译出一个js逻辑对象,里面包含encode和decode函数。
实际写web服务器的时候,注意这个操作可以直接在进程启动就做,否则在http处理过程里做的话,是一次不必要的性能消耗