axios使用protobuf进行通讯

本文介绍了在Vue项目中使用protobuf进行高效通讯的方法,包括解析.proto文件、封装proto请求以及实际应用。通过对比JSON和protobuf的通讯效率,阐述了protobuf在二进制通讯上的优势。并提供了一个开发脚手架的链接,以及详细的操作步骤,如配置文件的生成、axios的封装等,旨在简化前端与后端的数据交换过程。
摘要由CSDN通过智能技术生成

proto通讯资料
https://github.com/protocolbuffers/protobuf
https://github.com/dcodeIO/protobuf.js#pbts-for-typescript

或者你可以直接使用作者封装好proto通讯的开发脚手架
地址https://github.com/oujin-nb/vue-element-template

Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式

首先我们之前使用Json进行通讯是使用文本进行通讯,而protobuf是使用二进制通讯,通讯效率可以见下图
在这里插入图片描述

这里是介绍在es6前端模块化项目中如何简单高效的使用protobuf进行通讯

首先理清思路:1 将通用的.proto文件解析生成前端能够使用的js文件 2将普通的js对象引用protobuf提供的方法序列化成指定的二进制数据 3 将后端传来的数据解析成js对象

步骤

1 解析.proto文件
准备一个文件夹专门来放.proto文件
在这里插入图片描述
然后新增指令执行新建的文件夹

  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "build": "node build/build.js",
    "proto": "pbjs -t json-module -w commonjs -o src/configFile/proto/proto.js  src/configFile/proto/*.proto"
  },

直接执行 npm run proto
便会生成proto.js文件

2 封装proto请求

一个完整的请求如下
首先看后台给我们的proto文件
BaseResponse


syntax = "proto3";
option csharp_namespace = "probofu.Controllers";
import "google/protobuf/any.prot
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值