1.ionic3 项目使用protobuf请参考nodejs使用protobuf和protobuf官网:https://github.com/dcodeIO/protobuf.js
2.使用步骤如下:
1>.在命令行输入:nom install protobuf
2>.在命令执行完成后,查看ionic3项目目录下的package.json内是否有prototbufjs项。
3>.在需要使用protobufjs的页面头部引入:import protobufjs from protobufjs(注意此处不需要添加引号)
4>.剩下的步骤如下:
protobuf.load("awesome.proto", function(err, root) {
if (err)
throw err;
// Obtain a message type
var AwesomeMessage = root.lookupType("awesomepackage.AwesomeMessage");
// Exemplary payload
var payload = { awesomeField: "AwesomeString" };
// Verify the payload if necessary (i.e. when possibly incomplete or invalid)
var errMsg = AwesomeMessage.verify(payload);
if (errMsg)
throw Error(errMsg);
// Create a new message
var message = AwesomeMessage.create(payload); // or use .fromObject if conversion is necessary
// Encode a message to an Uint8Array (browser) or Buffer (node)
var buffer = AwesomeMessage.encode(message).finish();
// ... do something with buffer
// Decode an Uint8Array (browser) or Buffer (node) to a message
var message = AwesomeMessage.decode(buffer);
// ... do something with message
// If the application uses length-delimited buffers, there is also encodeDelimited and decodeDelimited.
// Maybe convert the message back to a plain object
var object = AwesomeMessage.toObject(message, {
longs: String,
enums: String,
bytes: String,
// see ConversionOptions
});
});
3.注意事项: 上面的代码可能有错。请查证后再使用。
Happy code