• 主页
  • github
  • 简历

将node.js的终端输出重定向到浏览器控制台中

在编写node.js代码时, 我们经常会临时的打印变量来查看内容, 对于一些基本的数据类型, 比如: Number, String, Boolean, 并没有什么问题, 但是当打印Object类型时, 如果该Object变量具有大量的属性, 我们会得到一个超长的输出内容, 有的时候甚至会超出终端缓冲区大小, 非常不利于观察结果.

使用过chrome浏览器开发者工具的朋友应该发现了, chrome的console会折叠Object值, 并且可以随意打开查看, 十分方便.

2016-07-08-node-js-console-log-redirect-to-browser-01

将输出重定向

在这里, 我们使用开源组件node-monkey, node-monkey是一款在浏览器对node.js程序进行debug和性能分析的工具.

执行npm install --save node_monkey安装组件.

在你的程序入口添加如下代码:

1
require('node-monkey').start()

运行你的程序, 可以看到终端中的输出如下:

console log

1
2
3
4
5
6
⇒ node app.js
info - socket.io started
------------------
NodeMonkey started
To inspect output, open a browser to: http://127.0.0.1:50500
------------------

打开浏览器访问http://127.0.0.1:50500, 打开浏览器的控制台, 可以看到你的程序的输出内容.

2016-07-08-node-js-console-log-redirect-to-browser-02

node-monkey默认关联了console.log, console.warn, console.error输出函数, 127.0.0.1:50500node-monkey的默认地址, 可以通过在start()中传入参数来修改.

自动打开浏览器

有个小工具可以让我们自动打开默认浏览器并跳转到指定地址, 免去手动输入的过程.

安装opener, 执行npm install --save opener

在上述所添加的代码下方加上如下代码:

1
require("opener")('http://127.0.0.1:50500');

重新运行你的程序, 启动node-money后就自动打开到指定页面了.

node-monkey还有其它可用的功能, 您可以查询文档研究它的妙用.