为什么 console.log() 显示 react_devtools_backend.js:4049 而不是文件和行号?

IT技术 javascript reactjs google-chrome react-devtools
2021-05-23 11:31:41

当我时console.log(),Chrome 控制台会提供日志,但没有显示文件和行号,它只是说react_devtools_backend.js:4049我如何让控制台显示文件和行号console.log()

控制台输出的屏幕截图显示“react_devtools_backend.js:4049”代替正确的文件和行号

4个回答

通过将文件添加到 Chrome 中的框架忽略列表,我能够在我的控制台中修复它。脚步:

控制台 -> 齿轮图标(右上角) -> 设置 -> 框架忽略列表。

添加react_devtools_backend.js到列表中,console.log应该会再次开始显示正确的映射。

Chrome 设置中的框架忽略列表的屏幕截图

在浏览器中禁用 React Devtools 扩展。

看起来该扩展程序需要修复。

要添加更多上下文,显然“它不需要修复”,因为它按照 2021 年 9 月 1 日第 18 版的预期工作。请参阅其中一位开发人员对 React GitHub 问题的评论。

如果您不想检查日志或将其删除,请在此处引用:

从第 18 版开始,DevTools 始终覆盖本机控制台以变暗或抑制 StrictMode 双重日志记录。(在此之前,它仅在您启用组件堆栈等功能时才这样做。)

这种覆盖的主要不幸缺点是它改变了浏览器控制台显示的位置,如本期报告的那样。

所以我想,在他们改变主意或浏览器提供更好的支持之前,是时候关闭扩展了。

我们可以用

console.info(data)

代替

console.log(data)