有人可以提供一个关于如何将Meteor应用程序连接到WebStorm调试器的简短步骤列表吗?
答案 0 :(得分:23)
WebStorm是唯一一个本机支持调试Meteor服务器代码的IDE - 请检查this video。即使在Windows上,调试也非常简单:
转到Run - >调试 - >编辑配置...,单击加号,单击“Meteor”。如果需要,可以添加ROOT_URL等环境变量。
此答案仅用于历史目的。您应该升级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。
现在您可以设置断点,可以访问局部变量等。
对于客户端调试,只需使用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中发布,因此早期版本可能不适用于此程序)。
以下是我为了让它发挥作用所做的事情:
在项目根目录下创建webpack.json
文件。
它应该包含devtool
配置,它会生成有助于调试的源映射。其余部分可能会根据您的具体设置进行更改。
{
"root": "src",
"devServer": {
"host": "localhost"
},
"devtool": "source-map"
}
创建调试设置:
Node.js远程调试,端口5858
(端口可配置)。
运行meteor debug
您可以使用--debug-port <port number>
指定端口。
有关详细信息,请参阅meteor help debug
。
将WebStorm连接到调试器
点击你的断点并高兴。
答案 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)
您可以为Webstorm尝试spyjs插件:http://blog.jetbrains.com/webstorm/2014/04/spy-js-webstorm-secret-service/
答案 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问题的情况下进行调试:)