-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
发行方式
App
具体平台
手机鸿蒙NEXT5.1.1
Uniapp APP
"@dcloudio/uni-app-harmony": "3.0.0-alpha-4080120250919001",
鸿蒙小程序SDK
@dcloudio/uni-app-runtime(V4.81.2025091901)
当vue3生成环境产生warn信息时,APP直接闪退了
开发环境
macOS
项目创建方式
CLI命令行
依赖版本
手机鸿蒙NEXT5.1.1
Uniapp APP
"@dcloudio/uni-app-harmony": "3.0.0-alpha-4080120250919001",
鸿蒙小程序SDK
@dcloudio/uni-app-runtime(V4.81.2025091901)
问题描述
1、当vue3生成环境产生,产生一些warn信息时,APP直接闪退了
2、添加app.config.warnHandler = () => {} 禁止产生警告信息,不会闪退
重现步骤
1、当vue3生成环境产生,产生一些warn信息时,APP直接闪退了
2、添加app.config.warnHandler = () => {} 禁止产生警告信息,不会闪退
3、可能产生问题的代码,根据调试走到
fn2(...batch.map(_toString));是闪退的,可能是_toString的问题,也可能是fn2函数的问题
// packages/uni-framework/src/console.ts
function _toString(a) {
try {
let _a, _b;
return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);
} catch (error) {
return String(a);
}
}
function wrap(key) {
const fn1 = console[key];
let needBreak = false;
return function(...args) {
const fn2 = uniconsole[key];
fn1(...args);
if (needBreak) {
return;
}
needBreak = true;
const argsLimit = 99;
const batchCount = Math.ceil(args.length / argsLimit);
for (let i = 0; i < batchCount; i++) {
const start = i * argsLimit;
const end = start + argsLimit;
const batch = args.slice(start, end);
try {
fn2(...batch.map(_toString));
} catch (error) {
}
}
needBreak = false;
};
}
期望行为
搜索
实际行为
No response
截图或录屏
No response