使用 Google Chrome 查看日志

使用 Google Chrome 查看日志

我是一名前端开发人员,不熟悉 Node.js 的命令行工具

我目前使用 iTerm 和 zShell,但在网上找不到有关折叠控制台输出的任何资源(类似于 Chrome 控制台格式化对象的方式)。我尝试使用外汇但似乎无法通过实用程序传输和利用 Node 输出。

node -e 'console.log({ a: { b: 2 } })';
node -e 'console.log(JSON.stringify({ a: { b: 2 } }, null, 2))';

对于大型网络对象,折叠嵌套层会更加方便。如果能有语法高亮功能就更好了。


有没有简单的方法来调试 Node.js 控制台输出 JSON?

我是否缺少基本的 CLI 工具?我知道这是一个相对开放的问题,但我认为这对其他和我处境相同的人来说是一个很好的资源(我花了大约 3 个小时进行研究,但几乎没有任何进展)。

谢谢

答案1

第一行的问题是,node当您使用时,命令不会生成有效的 JSON 字符串console.log。您需要自己将对象编码为 JSON 字符串。

第二行正确地将对象编码为 JSON 字符串(使用stringify):

node -e 'console.log(JSON.stringify({ a: { b: 2 } }, null, 2))'

要通过管道传输命令的 JSON 字符串输出,node您需要省略分号;。bash 中的分号用于分隔命令。有关 bash 中分号含义的更多信息:docstore.mik.ua/orelly/unix3/upt/ch28_16.htm

您可以这样将输出传输到fx

node -e 'console.log(JSON.stringify({ a: { b: 2 } }, null, 2))' | fx

以下是将输出传输到管道的方式jq

node -e 'console.log(JSON.stringify({ a: { b: 2 } }, null, 2))' | jq

fx使用起来可能会更直观。
jq如果您需要处理大量输出,可能会派上用场。

杰奇是一个轻量级且灵活的命令行 JSON 处理器。

以下是有关如何安装的一些信息:stedolan.github.io/jq/download

下面是关于如何使用进行一些基本过滤的教程jqstedolan.github.io/jq/tutorial

答案2

值得一提的是,Node.js 可以通过监听localhost:9229

就我而言:

  1. 我去了chrome://inspect/#devices
  2. 打开 Node.js 调试器
  3. 更改localhost:9229127.0.0.1:9229“连接”面板...这花了几个小时才发现
  4. 创建并运行 package.json 命令"debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --config=jest.config.js --timeout=60000 --runInBand",
  5. 接受在 Node.js 源面板中进行调试,并且 console.log 不起作用,但观察变量很方便

答案3

使用 Google Chrome 查看日志

  1. --inspect使用标志运行你的 Node 服务器

$ node --inspect server.js

  1. 在 Google Chrome 中打开新标签页并转到chrome://inspect/#devices

在此处输入图片描述

  1. 现在点击inspect即可使用浏览器控制台查看所有日志

相关内容