const data = new Buffer(response.data, 'base64'); 报错:ReferenceError: Buffer is not defined 运行环境 android实体机。 同样的代码在 “内置浏览器” 运行时没有问题的
我在nvue使用了 String.fromCharCode.apply(null, new Uint8Array(uni.base64ToArrayBuffer(XXX))) 代替了 Buffer.from(XXX, 'base64').toString(),Buffer 类是随 Node 内核一起发布的核心库,在js文件使用可以正常编译,但nvue文件使用的话,好像没有解析到Buffer。(上面的中文会乱码,不知对你是否有帮助) 使用window的atob()和btoa()也能加解base64码
5 个回复
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 (作者)
重写了node的buffer解决了
gzakay
我也碰到此问题了,能发我一份Buffer代码吗?156744737@qq.com 谢谢
gzakay
https://github.com/vitejs/vite/issues/5970
5***@qq.com
用npm安装buffer包,buffer包100%实现了node:Buffer模块的功能
然后把三方包用到Buffer对象的地方替换成buffer包的对象就可以了