uni-app 在 hbuilderx 升级至 3.4.6 后报错:First argument must be a string, Buffer, ArrayBuffer, Array

uni-app 在 hbuilderx 升级至 3.4.6 后报错:First argument must be a string, Buffer, ArrayBuffer, Array

嵌入腾讯的音视频,im功能,版本3.4.6 以前均正常

const generator = new LibGenerateTestUserSig(SDKAPPID, SECRETKEY, EXPIRETIME);
const userSig = generator.genTestUserSig(userID);

其中generator.genTestUserSig有个_函数,ArrayBuffer行出错
更新至3.4.6 之后报错
First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.

这到底是uni-app 问题还是那个插件js问题,看不懂

11 回复

vue2还是vue3?vue还是nvue?有没有简单的示例,提供一下


代码 就是一个js,在项目vue2,在nvue 页面引用 import LibGenerateTestUserSig from ‘@/utils/lib-generate-test-usersig.min.js’;

const generator = new LibGenerateTestUserSig(SDKAPPID, SECRETKEY, EXPIRETIME); const userSig = generator.genTestUserSig(userID);

然后就会报错, 实例js,在项目vue2,在nvue 页面引用,我放在了下面一条评论的附件里面,直接引用,不需要其他的东西

其中EXPIRETIME = 604800 其他均是字符串

回复 阿狸的祈祷: 好的

代码 就是一个js,在项目vue2,在nvue 页面引用 import LibGenerateTestUserSig from ‘@/utils/lib-generate-test-usersig.min.js’;
const generator = new LibGenerateTestUserSig(SDKAPPID, SECRETKEY, EXPIRETIME); const userSig = generator.genTestUserSig(userID);
然后就会报错

问题确认,已加分,即将修复

HBuilderX 3.4.7+ 已修复

3.8.7版本 vue3 .vue文件中引入使用也会报这个错误

在 HBuilderX 升级至 3.4.6 后,uni-app 项目报错 First argument must be a string, Buffer, ArrayBuffer, Array,这通常与某些依赖模块的版本不兼容或代码中的某些用法在新版本中不再支持有关。

以下是一些可能的解决方案:

1. 检查依赖模块版本

HBuilderX 3.4.6 可能对某些 Node.js 或 npm 模块的版本有更高的要求。建议检查 package.json 中的依赖项,确保所有依赖模块都是最新的兼容版本。

npm outdated

如果有过时的依赖项,可以尝试更新它们:

npm update

2. 检查 Buffer 相关代码

错误信息中提到了 Buffer,可能是在代码中使用了 Buffer 相关的操作,而传递的参数不符合要求。检查代码中是否有类似以下的操作:

const buffer = Buffer.from(someData);

确保 someData 是一个字符串、BufferArrayBufferArray

3. 清理缓存并重新安装依赖

有时候,缓存中的旧版本依赖可能会导致问题。可以尝试清理 npm 缓存并重新安装依赖:

npm cache clean --force
rm -rf node_modules
npm install
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!