我正在寻找一种将 Node 变量直接输出到 google chrome 浏览器控制台的方法。与 aconsole.log()
在客户端工作的方式相同。像这样的 php。这将大大加快开发速度。
7 回答
注意:由于旧答案(写于 2014 年 9 月)指的是旧版本node-inspector
,因此我的说明在 2017 年不再相关。此外,文档已经变得更好,所以我更新了我的原始答案:
节点检查器是您所需要的。它使用其开发人员工具打开一个 Chrome 实例以进行调试。
它也很容易使用:
1.安装
$ npm install -g node-inspector
2.开始
$ node-debug app.js
您可能想尝试 NodeMonkey - https://github.com/jwarkentin/node-monkey
我知道这是一个老问题,但出现在我的谷歌搜索之上,所以也许有人会发现我的答案很有用。
所以你可以使用node --inspect-brk index.js
现在,您所要做的基本上就是chrome://inspect
在您的 Chrome 地址栏中输入并点击Open dedicated DevTools for Node
在现在连接到 Node 的 DevTools 中,您将拥有您习惯使用的所有 Chrome DevTools 功能:
完整的断点调试,带黑盒的单步执行
转译代码的源映射
LiveEdit:使用 V8 的 JavaScript 热插拔评估
带有 ES6 功能/对象支持和自定义对象格式的控制台评估
使用火焰图采样 JavaScript 分析器
堆快照检查、堆分配时间线、分配分析
本机承诺的异步堆栈
希望有帮助。
我见过的最接近这个的是Node JS 控制台对象调试检查器
有关用法和潜在问题,请参阅此帖子:http: //thomashunter.name/blog/nodejs-console-object-debug-inspector/
对于通过 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 并从那里触发 client-console-reference 并登录到浏览器控制台。
如果有人需要帮助,我将更详细地解释,并可以提供此日志记录的更扩展版本,其中包含类型(console./log/warn/info),与标题信息分组(即服务器说:(文件名 + 行)。
为您的项目设置 firebase 最多需要 30 分钟,插入控制台功能需要 30 分钟。我认为它值得花时间!
您可以使用bonsole,这是一种在浏览器中记录内容的简单方法。即使在Linux下,也可以去局域网的ip查看。
依赖最少的最简单方法是使用 WebSocket 连接将消息发送到浏览器。您可以在 Internet 上找到的任何 WebSocket 示例都足以完成此操作。其他所有内容都需要大量集成到主机系统中,如果您想在远程服务器上实际运行它,则无法正常工作。您也可以通过这种方式直接从浏览器控制台向服务器发送命令。
链接:
https ://www.npmjs.com/package/websocket
https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications