【问题标题】:How to debug nodejs with a full url?如何使用完整的 url 调试 nodejs?
【发布时间】:2013-11-26 16:19:36
【问题描述】:
我已经安装了 node-inspector 和 express,并成功使用 url http://{localhost}:8080/debug?port=5858 开始调试。
但是我正在开发一个静态文件服务器,并且想验证当请求来自 http://{localhost}:8080/javascript/abc.js 时代码是如何运行的。我怎样才能做到这一点?在这种情况下,正确的 url 是什么?
【问题讨论】:
-
我从第一个 URL 猜测 localhost:8080 是您的节点检查器服务器实例。第二段中的网址是错误的吗?您的服务器将在其他地方运行,例如端口 3000 是 express 应用程序的默认端口。我认为您可能连接到了错误的地方。
标签:
node.js
debugging
node-inspector
【解决方案1】:
假设您的 express 应用程序正在侦听端口 3000:
var app = express();
app.use(express.static(path.join(__dirname, 'public')));
express.listen(3000);
正如您在问题中提到的,您的 Node-Inspector 正在侦听 8080。
如何单步执行处理静态文件请求的代码:
在第一个浏览器选项卡中打开节点检查器 (http://localhost:8080/debug?port=5858)。
-
在静态文件处理程序中设置断点。如果你使用的是express.static,那么你需要找到这个文件:
node_modules/express/node_modules/connect/lib/middleware/static.js
快捷方式:按 Ctrl+O(Mac 上为 Cmd+O)并在搜索框中输入 static.js。
在另一个浏览器标签 (http://localhost:8080/javascript/abc.js) 中打开您的应用程序。
浏览器应显示进度并等待服务器的响应。响应未到来,因为服务器在断点处停止。
使用 Node Inspector 切换到第一个选项卡并进行调试。