当我启动我的服务器时:
ROOT_URL="http://myserver:24000" meteor debug --settings config/settings.json --port 24000 --inspect
我得到控制台日志:
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 应用程序的同一台计算机上。
最佳答案
要远程调试您的 Meteor 应用程序,您现在只需 use the node internal inspector并省略debug
命令:
ROOT_URL="http://myserver:24000" meteor --inspect --settings config/settings.json --port 24000
现在可以像往常一样使用公共(public)端口 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/
为了远程调试您的服务器端代码,您需要 node inspector client附加到 ws://127.0.0.1:9229/2ee5da2d-c15b-416a-9efc-a19bb1299f35
,这是一个基于 websocket 的位置,不能通过 http://...
使用。
如果您使用 chrome,您只需输入 chrome://inspect
并在 Remote Target
列表中查找,其中应该有一个包含您的 Meteor 应用 Target (v8.11.4)
的条目(这是 Meteor 1.8.0.2 的内部 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/
在另一个选项卡或浏览器窗口中打开您的应用程序,并使用它直到服务器端代码上的调试器
断点被触发,并观察检查器选项卡切换到 Debug模式(正如您可能已经从客户端调试中知道的那样)。
关于node.js - 如何在meteor上远程调试服务器代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54751284/