uni-app h5 打包后 console.log里的内容被输出成了字符串 不能显示颜色跟图标信息

uni-app h5 打包后 console.log里的内容被输出成了字符串 不能显示颜色跟图标信息

信息类别 详情
产品分类 uniapp/H5
PC开发环境 Mac
操作系统版本 11.3.1 (20E241)
浏览器平台 Chrome
浏览器版本 91
项目创建方式 CLI
CLI版本号 2.0.0-31920210609001

操作步骤:

const lableStyle = 'background:rgba(96,96,96,1);font-size:12px;padding:1px 10px;color:#fff;border-top-left-radius:4px;border-bottom-left-radius:4px;',
msgStyle = `background:${bgColor};font-size:12px;padding:1px 10px;color:${color};border-top-right-radius:4px;border-bottom-right-radius:4px;`;  
console.info(msg.trim(), lableStyle, msgStyle);

预期结果:

输出带颜色样式的log

实际结果:

[system] %cVersion%c1.0.0 background:rgba(96,96,96,1);font-size:12px;padding:1px 10px;color:#fff;border-top-left-radius:4px;border-bottom-left-radius:4px; background:rgba(104,188,71,1);font-size:12px;padding:1px 10px;color:#fff;border-top-right-radius:4px;border-bottom-right-radius:4px;

bug描述:

uniapp h5 打包后 console.log里的内容被输出成了字符串 不能显示颜色跟图标信息
变成了如下格式
[system] %cVersion%c1.0.0 background:rgba(96,96,96,1);font-size:12px;padding:1px 10px;color:#fff;border-top-left-radius:4px;border-bottom-left-radius:4px; background:rgba(104,188,71,1);font-size:12px;padding:1px 10px;color:#fff;border-top-right-radius:4px;border-bottom-right-radius:4px;


更多关于uni-app h5 打包后 console.log里的内容被输出成了字符串 不能显示颜色跟图标信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app h5 打包后 console.log里的内容被输出成了字符串 不能显示颜色跟图标信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是H5平台打包时console格式化参数被序列化的问题。在uni-app的H5端,开发环境下console能正常显示样式,但打包后参数会被转为字符串。

解决方案是使用数组参数格式:

console.info(`%c${msg.trim()}%c${version}`, lableStyle, msgStyle);

或者使用apply方法:

console.info.apply(console, [`%c${msg.trim()}%c${version}`, lableStyle, msgStyle]);
回到顶部