如何使用WebStorm IDE调试Meteor应用程序?

net*_*ser 17 debugging remote-debugging node.js webstorm meteor

任何人都可以提供一个关于如何将Meteor应用程序连接到WebStorm调试器的简短步骤吗?

Dan*_*scu 24

WebStorm是唯一一个本机支持调试Meteor服务器代码的IDE - 请查看此视频.即使在Windows上,调试也非常简单:

WebStorm 9+

转到运行 - >调试 - >编辑配置...,单击加号,单击"Meteor".如果需要,可以添加ROOT_URL等环境变量.


WebStorm超过9

此答案仅用于历史目的.您应该升级WebStorm.

在较旧的WebStorms上,您以前必须创建Node.js调试配置.

  • 在服务器上,导出环境变量NODE_OPTIONS=--debug=47977.例如,

    NODE_OPTIONS=--debug=47977 meteor  # Linux/Mac
    set NODE_OPTIONS=--debug=47977 & meteor`  # Windows
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用上面的端口(47977)和服务器主机创建WebStorm/PhpStorm运行/调试配置.如果您在本地调试,请保留127.0.0.1.

运行 - >运行/调试配置

  • 在WebStorm中,运行 - >调试<myapp>,或按Shift + F9.确保在"调试"面板中看到"已连接到<主机>"

现在您可以设置断点,可以访问局部变量等.

对于客户端调试,只需使用Chrome调试器或Firebug.

故障排除

  • Process disconnected unexpectedly - 当流星由于缺乏对Meteor的特定支持而自动重启时会发生这种情况.只需运行 - >调试<myapp>,或再次按Shift + F9.

  • 您无法连接到服务器 - 确保防火墙规则允许传入连接到您为Node.js调试器选择的任何端口(此处为47977).


foo*_*cue 10

其他答案现已过时.不要像上面描述的那样添加Node.js调试配置,也不要使用spyjs.

如果你正在使用Webstorm 9.0,那就像去Run - > Debug - > Edit configurations ...一样简单,点击加号,点击"Meteor".

WebStorm也可能会要求您安装浏览器插件,但这仅适用于客户端调试; 只需在服务器端代码中添加一个断点,您就会看到它开箱即用.

JetBrains更新上面Dan Dascalescu回答中链接的视频,它向您展示了我刚才描述的过程.


Mas*_*rAM 5

对于使用的应用程序webpack:webpack,使用WebStorm的Meteor调试配置文件似乎无效。

我的设置使用webpack:webpackv1.0.12,Meteor v1.3.0和WebStorm 2016.1,但可能适用于更高版本(请注意,仅此问题的修复程序已在v1.0.12中发布,因此较早版本可能不适用于此过程)。

为了使它起作用,我做了以下操作:

  1. webpack.json在项目根目录下创建一个文件。

    它应包括devtool配置,该配置将生成有助于调试的源映射。其余的可能会根据您的特定设置进行更改。

    {
      "root": "src",
      "devServer": {
        "host": "localhost"
      },
      "devtool": "source-map"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建调试设置:

    Node.js远程调试,端口5858(该端口是可配置的)。

    远程节点调试配置

  3. meteor debug

    您可以使用指定端口--debug-port <port number>

    有关meteor help debug完整的详细信息,请参见。

    流星调试第一次运行

  4. 将WebStorm连接到调试器

    • 启动调试器 点击“调试”
    • 状态消息应表明它已连接。该Scripts标签中应包含脚本。 调试面板应声明已连接
    • 服务器应该在控制台中运行 服务器应恢复执行
  5. 击中断点并为之欢欣鼓舞。