从Node.js输出到Chrome控制台

时间:2012-07-28 20:10:13

标签: node.js google-chrome console

我正在寻找一种将Node变量直接输出到google chrome浏览器控制台的方法。与console.log()在客户端工作的方式相同。像this for php这样的东西。这将大大加快发展。

8 个答案:

答案 0 :(得分:21)

注意: 由于旧的答案(2014年9月编写)引用了node-inspector的旧版本,我的说明在2017年不再相关。此外,文档已经变得更好了,所以我更新了我的原始答案:< / p> 您需要

node-inspector 。 它打开了一个Chrome实例及其用于调试的开发工具。

它也很容易使用:

1。安装

$ npm install -g node-inspector

2。开始

$ node-debug app.js

来源:https://github.com/node-inspector/node-inspector

答案 1 :(得分:5)

您可能想尝试NodeMonkey - https://github.com/jwarkentin/node-monkey

答案 2 :(得分:3)

我见过的最接近的是Node JS console object debug inspector

有关使用情况和潜在问题,请参阅此帖子:http://thomashunter.name/blog/nodejs-console-object-debug-inspector/

答案 3 :(得分:2)

对于通过ssh-shell (putty)在linux上使用 nodejs的用户:

linux-ssh-shell上的nodejs问题是,你没有连接浏览器。 我尝试了所有这些解决方案,但没有让它发挥作用。

所以我用firebase(https://firebase.google.com)制定了一个解决方案,因为我的项目使用了firebase。 如果你熟悉firebase,那么这是一个很好的方法。如果没有,firebase值得与nodejs结合使用 - 而且它是免费的!

在服务器端脚本(从节点启动)中使用自己的函数log():

// server-side:
// using new firebase v3 !
var fbRootRef = firebase.database();
var fbConsoleRef = fbRootRef.ref("/console");
var log = function(args) {
  fbConsoleRef.set({'obj': args});
}

// inside your server-code:
log({'key':'value'});

在客户端,您可以在此控制台对象上创建firebase-reference:

// client side:
fbRootRef.child('/console').on('value', function(d) {
  var v = d.val();
  console.log(v);
});

现在,使用log()函数在服务器端登录的所有内容都会实时传输到firebase-database,并从那里触发客户端控制台引用并登录到浏览器控制台。

如果有人需要帮助,我会更详细地解释一下,可以用类型(console./log/warn/info)给这个日志记录提供更多扩展版本,用title-info分组(即服务器说:(filename +线)。

为项目设置firebase最多30分钟,在30分钟内插入控制台功能。我认为值得花时间!

答案 4 :(得分:1)

我知道这是一个古老的问题,但它位于我的Google搜索之上,因此也许有人会觉得我的答案有用。

因此您可以使用node --inspect-brk index.js

现在,您所需要做的基本上就是在Chrome地址栏中输入chrome://inspect,然后单击Open dedicated DevTools for Node

在现已连接到Node的DevTools中,您将拥有习惯于使用的所有Chrome DevTools功能:

  • 完成断点调试,逐步执行黑匣子

  • 已编译代码的源映射

  • LiveEdit:带有V8的JavaScript热插拔评估

  • 具有ES6功能/对象支持和自定义对象格式的控制台评估

  • 带有Flamechart的JavaScript分析器采样

  • 堆快照检查,堆分配时间表,分配概要分析

  • 用于本机承诺的异步堆栈

希望有帮助。

答案 5 :(得分:0)

这是我在如何在VSC和Chrome浏览器上调试代码的酷视频 安德鲁米德

You tube link

答案 6 :(得分:0)

您可以使用bonsole,这是一种在浏览器中记录内容的简单方法。即使在Linux中,您也可以转到LAN的IP进行检查。

答案 7 :(得分:0)

依赖最少的最简单方法是使用 WebSocket 连接将消息发送到浏览器。您可以在 Internet 上找到的任何 WebSocket 示例都足以完成此操作。其他一切都需要大量集成到主机系统中,如果您想在远程服务器上实际运行它,则它们将无法工作。您也可以通过这种方式直接从浏览器控制台向服务器发送命令。

链接:
https://www.npmjs.com/package/websocket
https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications