记浏览器 console.log 失效,不打印
console.log 无效了,控制台里看不到对应输出。
排查过程
第一反应是浏览器插件可能有问题,先禁用了所有插件。
然后排查是不是 webpack 的配置项有问题,比如是否在开发环境错误地压缩代码导致
console.log被删除。前两步都没排查出问题,且只有该项目存在无法打印的问题。懵了一会,决定查看
console.log是否被劫持改写。在控制台直接敲
console.log
//输出: function(){}破案了,console 对象被劫持改写了,剩下的就是排查是哪里改写的。
结论
结果是 HTML 模板里,有一部分代码(直接写进 HTML 的脚本)是使用第三方工具压缩混淆粘贴过来的。
混淆的代码中重写了 console 里的各个方法,应该是为了防止用户恶意 debug。