node.js - 如何在流星上远程调试服务器代码?
问题描述
当我启动我的服务器时:
ROOT_URL="http://myserver:24000" meteor debug --settings config/settings.json --port 24000 --inspect
我得到了 cosole 日志:
Debugger listening on ws://127.0.0.1:9229/a540a686-0a99-4a2a-ae85-bf06f74bc274
For help see https://nodejs.org/en/docs/inspector
但是当我尝试访问http://myserver:9229/a540a686-0a99-4a2a-ae85-bf06f74bc274 时,我得到站点不可用....
我在用:
Meteor v1.8.0.2
Node: v8.11.4
注意:
我想远程调试,我不在运行我的流星应用程序的同一台机器上。
解决方案
要远程调试您的 Meteor 应用程序,您现在只需使用节点内部检查器并省略debug
命令:
ROOT_URL="http://myserver:24000" meteor --inspect --settings config/settings.json --port 24000
现在它像往常一样使用公共端口 24000 运行您的 Meteor 应用程序。现在控制台应该向您显示以下输出:
=> Started proxy.
=> Started MongoDB.
W20190218-21:01:14.539(1)? (STDERR) Debugger listening on ws://127.0.0.1:9229/2ee5da2d-c15b-416a-9efc-a19bb1299f35
W20190218-21:01:14.552(1)? (STDERR) For help see https://nodejs.org/en/docs/inspector
=> Started your app.
=> App running at: http://myserver:24000/
为了远程调试您的服务器端代码,您需要一个节点检查器客户端附加到ws://127.0.0.1:9229/2ee5da2d-c15b-416a-9efc-a19bb1299f35
它是一个基于 websocket 的位置,并且不能通过http://...
.
如果您使用 chrome,您只需输入chrome://inspect
并查看您的 Meteor 应用程序(这是Meteor 1.8.0.2的内部版本)Remote Target
应该有条目的列表。单击,控制台现在应该打印Target (v8.11.4)
node
inspect
W20190218-21:08:48.039(1)? (STDERR) Debugger listening on ws://127.0.0.1:9229/2ee5da2d-c15b-416a-9efc-a19bb1299f35 W20190218-21:08:48.040(1)? (STDERR) For help see https://nodejs.org/en/docs/inspector W20190218-21:08:49.291(1)? (STDERR) Debugger attached.
现在在另一个选项卡或浏览器窗口中打开您的应用程序http://myserver:24000/
并使用它,直到debugger
触发服务器端代码上的断点并观察检查器选项卡切换到调试模式(正如您可能已经从客户端调试中知道的那样)。
推荐阅读
- visual-studio-2017 - VS2017 Team Explorer 的 SSDT 安装失败
- javascript - 无法在网格视图中显示帖子
- python - Python getch + 从单独的线程打印
- json - 如何使用 swift 4 解析 JSON
- python - 在类定义期间访问类对象
- excel - 更改事件不调用宏 Excel Vba
- java - RxJava:如何在多个线程中处理事件
- c - 为什么我得到 NULL is undefined 错误?
- javascript - localStorage 未提交数据
- laravel - Laravel 从控制器返回并继续路由