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

时间:2013-02-07 12:26:11

标签: node.js debugging meteor remote-debugging webstorm

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

6 个答案:

答案 0 :(得分:23)

WebStorm是唯一一个本机支持调试Meteor服务器代码的IDE - 请检查this video。即使在Windows上,调试也非常简单:

WebStorm 9 +

转到Run - >调试 - >编辑配置...,单击加号,单击“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
    
  • 使用上面的端口(47977)和服务器主机创建WebStorm / PhpStorm运行/调试配置。如果您在本地调试,请保留127.0.0.1。

Run -> Run/Debug confioguration

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

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

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

故障排除

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

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

答案 1 :(得分:10)

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

如果你正在使用Webstorm 9.0,那就像去Run - >一样简单。调试 - >编辑配置...,单击加号,单击“Meteor”。

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

JetBrains在Dan Dascalescu上面的回答中更新了the video which was linked to,它向您展示了我刚才描述的过程。

答案 2 :(得分:4)

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

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

以下是我为了让它发挥作用所做的事情:

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

    它应该包含devtool配置,它会生成有助于调试的源映射。其余部分可能会根据您的具体设置进行更改。

    {
      "root": "src",
      "devServer": {
        "host": "localhost"
      },
      "devtool": "source-map"
    }
    
  2. 创建调试设置:

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

    remote node debug configuration

  3. 运行meteor debug

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

    有关详细信息,请参阅meteor help debug

    meteor debug first run

  4. 将WebStorm连接到调试器

    • 启动调试器 click "debug"
    • 状态消息应指示已连接。应在Scripts标签中提供脚本。 the debug panel should state that it is connected
    • 服务器应该在控制台中运行 server should resume execution
  5. 点击你的断点并高兴。

答案 3 :(得分:3)

WebStorm 9将获得Meteor支持。虽然WS 9尚未发布(截至2014年10月7日),但仍有early access program for WS 9

阅读JetBrains WebStorm博客describes some of the Meteor support features并附上简短视频。

我是Meteor,WebStorm(以及JavaScript)的新手,并且已经使用WS 9 EAP build 138.2406几周了。我可以在IDE中启动我的项目,设置断点,遍历代码,检查值,跳转到定义,以及发出完成。这非常有帮助。

答案 4 :(得分:0)

答案 5 :(得分:0)

有一个bug旧版本的Webstorm可以调试Meteor 1.2.x的服务器端。最新版本的Webstorm(11.0.3)于2015年12月24日发布,修复了它。发行说明可在此处找到:https://confluence.jetbrains.com/display/WI/WebStorm+143.1559.5+Release+Notes

我现在能够在没有任何Webstorm问题的情况下进行调试:)