作为Web开发人员,了解如何调试代码非常重要。对于后台开发,我们经常会使用外部库来记录日志,在某些情况下还会对日志进行格式化和展示。我们在前端使用断点和控制台,但是我们浏览器的控制台比我们想象的要强大得多。当我们想到控制台时,首先想到的是console.log,对吧?但是它使用的方法比我们想象的要多得多。现在让我们看看如何充分利用控制台,我会给你一些技巧,使这些方法更具可读性什么是控制台?JavaScript控制台是现代浏览器中的一项内置功能,它在类似shell的界面中附带开箱即用的开发工具。它允许开发人员:查看网页上发生的错误和警告的日志。使用JavaScript命令与网页交互。调试应用程序并直接在浏览器中遍历DOM。检查和分析网络活动基本上,它使您能够在浏览器中编写、管理和监视JavaScript。Console.log、Console.error、Console.warn和Console.info这些可能是最常用的方法。您可以将多个参数传递给这些方法。每个参数都在一个以空格分隔的字符串中进行评估和连接,但对于对象或数组,您可以在它们的属性之间导航。console.group在检查代码逻辑和流程的时候可能会用到很多console.log()来检测,但是你会发现console打印出来很多。此方法允许您将一系列console.log(和错误消息等)分组到一个可折叠组下。语法非常简单:只需在console.group()之前记录我们想要分组的所有内容(或者console.groupCollapsed()如果我们希望它默认关闭)。然后console.groupEnd()在末尾添加一个关闭组。Console.table自从发现console.table后,我的生活发生了变化。在console.log中显示JSON或非常大的JSON数组是一种糟糕的体验。console.table允许我们在一个漂亮的表中可视化这些结构,我们可以在其中命名列并将它们作为参数传递。非常好用,在调试中非常有用:Console.count、Console.time和Console.timeEnd这三个方法对于每个需要调试的开发人员来说都是瑞士军刀。console.count计数和输出是在同一行上使用相同标签调用count()的次数。console.time使用指定为输入参数的名称启动计时器,并且可以在特定页面上同时运行多达10,000个计时器。启动后,我们调用console.timeEnd来停止计时器并将经过的时间打印到控制台。输出将如下所示:Console.trace和Console.assert这些方法只是从调用它的代码位置打印堆栈跟踪。假设您正在创建一个JS库,并希望通知用户哪里发生了错误。在这种情况下,这些方法非常有用。console.assert类似于console.trace,但只打印不满足的条件。如我们所见,输出正是React(或任何其他库)在生成异常时向我们显示的内容。删除所有控制台?使用控制台通常会迫使我们淘汰它们。或者有时我们忘记了生产构建(并且只是在几天后才错误地注意到它们)。当然,我不建议任何人滥用不需要它们的控制台(更改输入句柄中的控制台可以在看到它有效后删除)。您应该在开发模式下保留错误日志或跟踪日志以帮助您进行调试。我在工作和我自己的项目中都经常使用Webpack。此工具允许您使用uglifyjs-webpack-plugin删除您不想从生产构建中保留的所有控制台(按类型)?constUglifyJsPlugin=require('uglifyjs-webpack-plugin')vardebug=process.env.NODE_ENV!=="production";.....优化:{最小化:!调试?[newUglifyJsPlugin({//压缩特定选项uglifyOptions:{//消除注释comments:false,compress:{//删除警告warnings:false,//删除控制台语句drop_console:true},}})]:[]}配置非常简单,它简化了工作流程,因此控制台仍然很有趣(但不要滥用它!)
