返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何在Vue中使用protobuf
  • 385
分享到

如何在Vue中使用protobuf

2024-04-02 19:04:59 385人浏览 八月长安
摘要

protobuf是由Google推出的和语言无关和平台无关,可扩展的序列化数据结构协议,类似于XML,但是比XML更小、更快、更简单。protobuf几乎支持当前的大部分语言,如ja

protobuf是由Google推出的和语言无关和平台无关,可扩展的序列化数据结构协议,类似于XML,但是比XML更小、更快、更简单。protobuf几乎支持当前的大部分语言,如javascript 

安装protobufjs

cnpm i -S protobufjs

注意:当前protobufjs的版本为:6.11.2 

 在项目src目录下新建proto目录,把后端给的test.proto文件放进去

syntax = "proto3";//第一行指定了正在使用proto3语法:如果你没有指定这个,编译器会使用proto2。这个指定语法行必须是文件的非空非注释的第一行
 
message Address
{
     string province  = 1;
     string city = 2;
     string county = 3;
}

打开dos窗口,执行以下命令将proto文件转换成js文件。大概执行15秒,执行成功后会在src/proto文件夹中创建proto.js文件

npx pbjs -t JSON-module -w commonjs -o src/proto/proto.js src/proto/*.proto

注意:-w参数可以指定打包js的包装器,这里用的是commonjs 。.proto文件除了可以生成js文件,还可以生成json文件。通常打包成js模块比较好用,因为Vue在生产环境中打包后只有html,CSS,js等文件。生成json文件的命令为:

npx pbjs -t json src/proto/*.proto > src/proto/proto.json

 引入proto.js:

import protoRoot from "@/proto/proto.js";

先打印看看protoRoot内容:

基本使用:

<template>
  <div class="main">main</div>
</template>
<script>
import protoRoot from "@/proto/proto.js";
export default {
  data() {
    return {};
  },
  mounted() {
    let testobj = protoRoot.lookup("Address").create();
    testobj.province = "四川省";
    testobj.city = "成都市";
    testobj.county = "中国";
    console.log("testobj:", testobj);
 
    //encode数据
    let testObjBuffer = protoRoot.lookup("Address").encode(testobj).finish();
    console.log("testObjBuffer:", testObjBuffer);
 
    //decode数据
    let testdata = protoRoot.lookup("Address").decode(testObjBuffer);
    console.log("testdata:", testdata);
  },
};
</script>

 为以后方便使用,我们可将命令添加到package.json的script中:

"proto": "pbjs -t json-module -w commonjs -o src/proto/proto.js  src/proto/*.proto"

以后更新proto文件后,只需要npm run proto即可重新生成最新的proto.js

使用axios发起请求时,需要注意设置axios的请求类型使用arraybuffer:

import axiOS from 'axios'
const httpservice = axios.create({
  timeout: 45000,
  method: 'post',
  headers: {
    'X-Requested-With': 'XMLHttpRequest',
    'Content-Type': 'application/octet-stream'
  },
  responseType: 'arraybuffer'
})

到此这篇关于如何在Vue中使用protobuf的文章就介绍到这了,更多相关Vue使用protobuf内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何在Vue中使用protobuf

本文链接: https://lsjlt.com/news/144367.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何在Vue中使用protobuf
    protobuf是由google推出的和语言无关和平台无关,可扩展的序列化数据结构协议,类似于XML,但是比XML更小、更快、更简单。protobuf几乎支持当前的大部分语言,如Ja...
    99+
    2024-04-02
  • 怎么在Vue中使用protobuf
    本篇内容主要讲解“怎么在Vue中使用protobuf”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Vue中使用protobuf”吧!protobuf是由google推出的和语言无关和平台无...
    99+
    2023-06-29
  • python 如何使用 protobuf
    一、protobuf是什么 protocol buffer(简称protobuf)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一...
    99+
    2023-01-31
    如何使用 python protobuf
  • 在java程序中使用protobuf
    目录在java程序中使用protobuf1、为什么使用protobuf2、定义.proto文件3、编译协议文件4、详解生成的文件5、Builders 和 Messages6、序列化和...
    99+
    2024-04-02
  • php中如何操作使用protobuf
    这篇文章主要介绍“php中如何操作使用protobuf”,在日常操作中,相信很多人在php中如何操作使用protobuf问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中如何操作使用protobuf”的疑...
    99+
    2023-06-25
  • 如何使用Protobuf序列化
    这篇文章给大家介绍如何使用Protobuf序列化,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。java自带的序列化机制效率太低,有很多缺点。因此涌现出了很多优秀的系列化框架,比如说protobuf、protostuff...
    99+
    2023-06-15
  • 如何在vue中使用moment
    如何在vue中使用moment?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、moment是什么?moment 是一个 JavaScript 日期处理类库。安装 mome...
    99+
    2023-06-15
  • 在vue中如何使用three.js
    这篇文章主要讲解了“在vue中如何使用three.js”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在vue中如何使用three.js”吧!1.首先安装three.js、引入npm ...
    99+
    2023-07-05
  • C++中protobuf的交叉编译如何使用
    这篇文章主要介绍“C++中protobuf的交叉编译如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++中protobuf的交叉编译如何使用”文章能帮助大家解决问题。简介官方文档给出的定义和...
    99+
    2023-07-02
  • 如何在python项目中使用Protobuf定义消息的类型
    这期内容当中小编将会给大家带来有关如何在python项目中使用Protobuf定义消息的类型,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译...
    99+
    2023-06-06
  • 如何在vue中使用ant-design-vue组件
    目录在vue中使用ant-design-vue组件1. 安装2. 引入组件库3. 使用3.1 按钮样式3.2 导航栏样式3.3 表单样式在vue中使用ant-design-vue组件...
    99+
    2023-01-29
    vue使用ant-design-vue组件 ant-design-vue组件
  • 如何在vue中使用backtop组件
    如何在vue中使用backtop组件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码:<template> <div class=&qu...
    99+
    2023-06-14
  • 基于axios在vue中如何使用
    本文小编为大家详细介绍“基于axios在vue中如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“基于axios在vue中如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、Axios是什么Axios...
    99+
    2023-06-29
  • Mock.js在Vue项目中如何使用
    本篇内容主要讲解“Mock.js在Vue项目中如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mock.js在Vue项目中如何使用”吧!Mock.js 初体验安装:npm ins...
    99+
    2023-07-02
  • 如何在Vue项目中使用vuex
    目录在Vue项目中使用vuex一、安装vuex二、创建store三、挂载store四、在组件中使用五、在Vue组件中监听Vuex总结在Vue项目中使用vuex 在一个vue项目中使用...
    99+
    2023-01-28
    Vue使用vuex Vue vuex Vue项目中使用vuex
  • 详解eslint在vue中如何使用
    目录1、说明2、下载相关依赖包3、配置文件.eslintrc.js(还有其他方式配置规则)4、在vscode(版本1.44.0)配置保存时自动格式化代码5、在package.json...
    99+
    2024-04-02
  • 如何在vue中使用jsx语法
    目录为什么需要在vue中使用jsx在vue中如何使用jsxtemplate转jsx的语法转换为什么需要在vue中使用jsx 几年前面试的时候,被问过这个问题,当时我一脸懵,这两个东西...
    99+
    2024-04-02
  • Protobuf在Cmake中的正确使用方法详解
    Protobuf是google开发的一个序列化和反序列化的协议库,我们可以自己设计传递数据的格式,通过.proto文件定义我们的要传递的数据格式。例如,在深度学习中常用的ONNX交换...
    99+
    2024-04-02
  • Android中的Protobuf怎么使用
    本篇内容介绍了“Android中的Protobuf怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言Protobuf,类似于json...
    99+
    2023-06-29
  • 在React、Vue项目中如何使用SVG
    这篇文章将为大家详细讲解有关在React、Vue项目中如何使用SVG,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在一些现代的扁平化设计网站,特别是移动端网站,经常会包含...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作