一直在做前端的事情,调试通常通过 console.log
在chrome调试,因为没有遇到大问题,通常都挺顺利的。
如今使用node.js,发现 console.log
就不方便了。
- 你是如何调试node.js的?
- 你常用断点调试吗? (前端 or 后端)
- 断点调试的带来的便利是什么?
2 回复
- 开始跟一楼一样用 node-inspector 调试(仅限于Webkit内核的浏览器),后来直接用 Webstorm,方便了很多;
- 平时后端和前端倒是都常用断点调试;
- 补充 2:简单的条件判断、变量或对象直接输出查看就好,反之复杂点的逻辑、对象等断点看起来更好一点。
另:学习一些Module的时候,找不到源码中的具体函数。断点后控制台查看一下函数体或对象,不然在代码里直接console.log只能看到[Function] 、[Object] 。
举个栗子:
connect 或 express 中 req 取表单值的时候,可以用req.params['name']
、req.param('name','默认值')
、req.body.name
等等,
后来看了req.param
函数代码之后就一直用这个来取值了。
输出查看:
[2014-06-14 17:41:31.763] [INFO] console - [Function]
断点查看:
function (name, defaultValue){ var params = this.params || {}; var body = this.body || {}; var query = this.query || {}; if ( null != params[name] && params.hasOwnProperty(name) ) return params[name]; if ( null != body[name] ) return body[name]; if ( null != query[name] ) return query[name]; return defaultValue; }