最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何在Vue中使用protobuf

 更新時(shí)間:2022年03月29日 16:35:05   作者:~疆  
這篇文章主要介紹了如何在Vue中使用protobuf,protobuf是由google推出的和語(yǔ)言無(wú)關(guān)和平臺(tái)無(wú)關(guān),幾乎支持當(dāng)前的大部分語(yǔ)言,如JavaScript,下文更多相關(guān)介紹需要的小伙伴可以參考一下

protobuf是由google推出的和語(yǔ)言無(wú)關(guān)和平臺(tái)無(wú)關(guān),可擴(kuò)展的序列化數(shù)據(jù)結(jié)構(gòu)協(xié)議,類似于XML,但是比XML更小、更快、更簡(jiǎn)單。protobuf幾乎支持當(dāng)前的大部分語(yǔ)言,如JavaScript 

安裝protobufjs

cnpm i -S protobufjs

注意:當(dāng)前protobufjs的版本為:6.11.2 

 在項(xiàng)目src目錄下新建proto目錄,把后端給的test.proto文件放進(jìn)去

syntax = "proto3";//第一行指定了正在使用proto3語(yǔ)法:如果你沒有指定這個(gè),編譯器會(huì)使用proto2。這個(gè)指定語(yǔ)法行必須是文件的非空非注釋的第一行
?
message Address
{
? ? ?string province ?= 1;
? ? ?string city = 2;
? ? ?string county = 3;
}

打開dos窗口,執(zhí)行以下命令將proto文件轉(zhuǎn)換成js文件。大概執(zhí)行15秒,執(zhí)行成功后會(huì)在src/proto文件夾中創(chuàng)建proto.js文件

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

注意:-w參數(shù)可以指定打包js的包裝器,這里用的是commonjs 。.proto文件除了可以生成js文件,還可以生成json文件。通常打包成js模塊比較好用,因?yàn)関ue在生產(chǎn)環(huán)境中打包后只有html,css,js等文件。生成json文件的命令為:

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

 引入proto.js:

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

先打印看看protoRoot內(nèi)容:

基本使用:

<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 = "中國(guó)";
? ? console.log("testobj:", testobj);
?
? ? //encode數(shù)據(jù)
? ? let testObjBuffer = protoRoot.lookup("Address").encode(testobj).finish();
? ? console.log("testObjBuffer:", testObjBuffer);
?
? ? //decode數(shù)據(jù)
? ? 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發(fā)起請(qǐng)求時(shí),需要注意設(shè)置axios的請(qǐng)求類型使用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'
})

到此這篇關(guān)于如何在Vue中使用protobuf的文章就介紹到這了,更多相關(guān)Vue使用protobuf內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決vue-photo-preview 異步圖片放大失效的問題

    解決vue-photo-preview 異步圖片放大失效的問題

    這篇文章主要介紹了解決vue-photo-preview 異步圖片放大失效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-07-07
  • vue3中ref綁定dom或者組件失敗的原因及分析

    vue3中ref綁定dom或者組件失敗的原因及分析

    這篇文章主要介紹了vue3中ref綁定dom或者組件失敗的原因及分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue3 setup語(yǔ)法糖銷毀一個(gè)或多個(gè)定時(shí)器(setTimeout/setInterval)

    Vue3 setup語(yǔ)法糖銷毀一個(gè)或多個(gè)定時(shí)器(setTimeout/setInterval)

    這篇文章主要給大家介紹了關(guān)于Vue3 setup語(yǔ)法糖銷毀一個(gè)或多個(gè)定時(shí)器(setTimeout/setInterval)的相關(guān)資料,vue是單頁(yè)面應(yīng)用,路由切換后,定時(shí)器并不會(huì)自動(dòng)關(guān)閉,需要手動(dòng)清除,當(dāng)頁(yè)面被銷毀時(shí),清除定時(shí)器即可,需要的朋友可以參考下
    2023-10-10
  • vue3?reactive數(shù)據(jù)更新視圖不更新問題解決

    vue3?reactive數(shù)據(jù)更新視圖不更新問題解決

    這篇文章主要為大家介紹了vue3?reactive數(shù)據(jù)更新視圖不更新問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • vue如何查找數(shù)組中符合條件的對(duì)象

    vue如何查找數(shù)組中符合條件的對(duì)象

    這篇文章主要介紹了vue如何查找數(shù)組中符合條件的對(duì)象,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue首屏性能優(yōu)化組件知識(shí)點(diǎn)總結(jié)

    Vue首屏性能優(yōu)化組件知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于Vue首屏性能優(yōu)化組件知識(shí)點(diǎn)總結(jié),有需要的朋友們可以跟著學(xué)習(xí)下。
    2021-11-11
  • Vue?刪除和增加自定義組件實(shí)戰(zhàn)教程

    Vue?刪除和增加自定義組件實(shí)戰(zhàn)教程

    Vue.js是一種流行的JavaScript框架,用于構(gòu)建交互式的Web應(yīng)用程序,在Vue.js中,我們可以通過動(dòng)態(tài)地增加和刪除組件來(lái)實(shí)現(xiàn)動(dòng)態(tài)頁(yè)面的構(gòu)建和更新,本文介紹Vue?刪除和增加自定義組件實(shí)戰(zhàn)教程,感興趣的朋友一起看看吧
    2024-08-08
  • vue3 axios 實(shí)現(xiàn)自動(dòng)化api配置詳解

    vue3 axios 實(shí)現(xiàn)自動(dòng)化api配置詳解

    這篇文章主要為大家介紹了vue3 axios 實(shí)現(xiàn)自動(dòng)化api配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Vue3通用API功能示例剖析

    Vue3通用API功能示例剖析

    這篇文章主要為大家介紹了Vue3通用API功能示例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • vue 通過base64實(shí)現(xiàn)圖片下載功能

    vue 通過base64實(shí)現(xiàn)圖片下載功能

    這篇文章主要介紹了vue 通過base64實(shí)現(xiàn)圖片下載功能,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12

最新評(píng)論

林周县| 江城| 龙海市| 图片| 阿尔山市| 定安县| 江都市| 神池县| 德惠市| 都昌县| 陕西省| 堆龙德庆县| 庄浪县| 沈阳市| 外汇| 佳木斯市| 万源市| 兰考县| 五大连池市| 石屏县| 罗江县| 无为县| 泰州市| 报价| 三亚市| 鹤岗市| 闽侯县| 集安市| 藁城市| 道真| 山阴县| 陕西省| 玉山县| 承德市| 无极县| 辽宁省| 德昌县| 漠河县| 建平县| 客服| 曲阜市|