vue3 使用protobuf

参考文章链接 https://blog.csdn.net/jmszl1991/article/details/124817947

在vue3中使用protobuf可以参考上文,我在此做记录的同时,稍做补充

使用lookup

import protobuf from 'protobufjs'
// 找到要翻译的包和字段
const pb = protobuf.lookup('PBserver.hello');

参考文章中在页面中引入protobuf之后,直接使用了lookup,我在实际开发中,会报lookup undefind。不清楚是我的问题还是怎么样
在控制台中打印protobuf发现并没有lookup方法

我在项目中的使用

import protobuf from 'protobufjs'
import behaviorBody from '@/proto/proto.js'
import iconvlite from 'iconv-lite'

var behaviorRoot = protobuf.Root.fromJSON(behaviorBody);
var message = behaviorRoot.lookupType('BehaviorBody');

let dataN = {
    data: [{
        time: Date.now(), // 调用时间戳
        event: 'BURYINGID[event]', // id
    }]
}
var payload = message.create(dataN);
var buffer = message.encode(payload).finish();

buff报错

引入protobufjs就会报错,具体不知道什么原因产生的。

Module "buffer" has been externalized for browser compatibility. Cannot access "buffer.Buffer" in client code.

最后一顿google

解决链接:https://stackoverflow.com/questions/73353392/cannot-access-buffer-buffer-in-client-code-svelte-with-userbase
按照链接中配置了vite.config.js文件就可以了
不太懂为什么会出现这样的报错,和为什么可以这样解决

export default defineConfig({
  resolve: {
    alias: {
      util: 'util/',
    },
  },
})

以上补充不知道会不会遇到,如果有用就点个赞吧~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值