如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
当前回答
用您最喜欢的浏览器调试器调试小型Node.js脚本的一种快速而肮脏的方法是使用browserify。注意,这种方法不适用于任何需要本机I/O库的应用程序,但对于大多数小型脚本来说,它已经足够好了。
$ npm install -g browserify
现在将所有var x=requires('x')调用移动到requires.js文件中并运行:
$ browserify requires.js -s window -o bundle.js
(这里的缺点是,您必须移动或注释所有文件中的要求。)
在HTML文件中包含bundle.js,如下所示:
<script type="text/javascript" src="bundle.js"></script>
现在在浏览器中加载文件,然后在浏览器中按F12和viola:debug。
其他回答
假设您的计算机上安装了节点检查器(如果没有,只需键入“npm install-g node inspector”),您只需运行:
node-inspector & node --debug-brk scriptFileName.js
然后从命令行将URI粘贴到WebKit(Chrome/Safari)浏览器中。
我个人使用JetBrains WebStorm,因为它是我发现的唯一一个适用于前端和后端JavaScript的JavaScript IDE。
它可以在多个操作系统上运行,内置Node.js调试(以及大量其他功能)(http://www.jetbrains.com/webstorm/features/index.html).
我唯一的“问题”/愿望列表项目是:
在Mac上,它似乎比Windows更需要资源。在版本6中,它似乎不再是一个问题。如果它有Snippet支持(就像Sublime Text 2一样),那就太好了。比如,键入“fun”并点击“tab”以放入一个函数。请参阅下面的@WickyNilliams评论-使用Live模板,您也可以支持Snippet。
我最初的反应是几年前的预视工作室。
因此,hapi使用GOOD是一个很棒的日志记录包,但要进行调试,请使用visual studio。
最初的回应(很久以前):我会使用沃尔玛实验室的GOOD。它可以完成任务,而且非常灵活:
var hapi = require('hapi');
var good = require('good');
var server = hapi.createServer('localhost', 5000,{});
server.route({SOME ROUTE HERE});
server.start();
var options = {
subscribers: {
'console': ['ops', 'request', 'log', 'error'],
'http://localhost/logs': ['log']
}
};
server.pack.require('good', options, function (err) {
if (!err) {
console.log('Plugin loaded successfully');
}
});
用您最喜欢的浏览器调试器调试小型Node.js脚本的一种快速而肮脏的方法是使用browserify。注意,这种方法不适用于任何需要本机I/O库的应用程序,但对于大多数小型脚本来说,它已经足够好了。
$ npm install -g browserify
现在将所有var x=requires('x')调用移动到requires.js文件中并运行:
$ browserify requires.js -s window -o bundle.js
(这里的缺点是,您必须移动或注释所有文件中的要求。)
在HTML文件中包含bundle.js,如下所示:
<script type="text/javascript" src="bundle.js"></script>
现在在浏览器中加载文件,然后在浏览器中按F12和viola:debug。
调试Node.JS应用程序的方法如下:
1) 安装devtool并用它启动应用程序
npm install devtool -g --save
devtool server.js
这将在chrome开发人员模式下打开,因此您可以放置调试器点并进行测试。
2) 使用节点检查器进行调试
node-inspector
3) 使用--debug调试
node --debug app.js