upush
upush
  • 发布:2020-09-08 16:05
  • 更新:2023-06-21 18:00
  • 阅读:7123

ReferenceError: Buffer is not defined

分类:uni-app

const data = new Buffer(response.data, 'base64');
报错:ReferenceError: Buffer is not defined
运行环境 android实体机。

同样的代码在 “内置浏览器” 运行时没有问题的

2020-09-08 16:05 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com

我在nvue使用了 String.fromCharCode.apply(null, new Uint8Array(uni.base64ToArrayBuffer(XXX))) 代替了 Buffer.from(XXX, 'base64').toString(),Buffer 类是随 Node 内核一起发布的核心库,在js文件使用可以正常编译,但nvue文件使用的话,好像没有解析到Buffer。(上面的中文会乱码,不知对你是否有帮助)
使用window的atob()和btoa()也能加解base64码

upush

upush (作者)

重写了node的buffer解决了

gzakay

gzakay

我也碰到此问题了,能发我一份Buffer代码吗?156744737@qq.com 谢谢

gzakay

gzakay

https://github.com/vitejs/vite/issues/5970

5***@qq.com

5***@qq.com

用npm安装buffer包,buffer包100%实现了node:Buffer模块的功能

npm install buffer

然后把三方包用到Buffer对象的地方替换成buffer包的对象就可以了

要回复问题请先登录注册