从Node.js输出到Chrome控制台

我正在寻找一种方法来直接输出到Chrome浏览器控制台的节点variables。 console.log()在客户端工作方式相同。 像这样的PHP的东西。 这会大大加快发展。

注意:由于旧的答案(写在2014年9月)是指node-inspector的旧版本,我的指示是不相关的在2017年。此外,文件已经得到了很多,所以我已经更新了我原来的答案:

节点检查器是你所需要的。 它打开了Chrome的一个实例,用它的开发工具进行debugging。

这也很容易使用:

1.安装

 $ npm install -g node-inspector 

2.开始

 $ node-debug app.js 

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

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

我看到的最接近的事情是Node JS控制台对象debugging检查器

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

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

linux-ssh-shell上nodejs的问题是,你没有连接浏览器。 我试过所有这些解决scheme,但没有得到它的工作。

所以我制定了一个firebase解决scheme( 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'}); 

在客户端,您在这个控制台对象上创build一个firebase-reference:

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

现在,所有使用log()函数在服务器端logging的函数都会实时传送到firebase数据库,然后从那里触发client-console-reference并login到浏览器控制台。

如果有人需要帮助,我会更详细地解释,并可以给这个日志types(console./log/warn/info),与标题信息(即服务器:(文件名+行)分组)的扩展版本。

为您的项目设置firebase最长30分钟,在30分钟内插入控制台function。 我觉得它值得的时间!