从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。 我觉得它值得的时间!