【问题标题】:Grunt debugging from Webstorm来自 Webstorm 的 Grunt 调试
【发布时间】:2013-06-07 06:22:56
【问题描述】:

可以通过外部工具在 WebStorm 中运行 grunt 任务。但是,是否可以使用外部工具进行调试?通过在 WebStorm 中运行 grunt servergrunt test 之类的任务,如果可以使用诸如 grunt 之类的外部工具,它将使调试变得更加容易。

【问题讨论】:

标签: node.js debugging intellij-idea gruntjs webstorm


【解决方案1】:

您必须将 grunt-cli 作为 Node 应用程序运行:

  • 创建新的 Node.js 运行/调试配置:运行->编辑配置...
  • 节点路径中选择您的节点二进制文件,即:/Users/someuser/nvm/v0.10.5/bin/node
  • 工作目录中,选择您的Gruntfile.js 目录,即/Projects/someproject
  • Node App JS File的路径中,选择你的Grunt CLI路径(你可以选择在你的节点bin目录下创建的grunt-cli符号链接,WebStorm将使用符号链接目标),即:@ 987654326@ (C:\Users\someuser\AppData\Roaming\npm\node_modules\grunt-cli\bin\grunt 在 Windows 7 上)
  • 应用程序参数中输入Grunt任务运行,例如defaulttest

点击运行或调试就完成了:)

【讨论】:

  • 有没有办法配置 webstorm 在保存文件时自动运行 Grunt 测试?谢谢
  • 我以前从未这样做过,但可能如果您转到项目设置并配置自定义文件监视(查找“文件监视程序”然后单击底部的加号按钮并选择自定义),您每次文件更改时都可以使用 Grunt 启动节点。 (我通常在第二个终端中使用 grunt watch 而不是使用 File Watchers)
  • 您知道为什么为此启动调试会话需要花费大量时间吗?
  • 我认为 ItelliJ 家伙是回答这个问题的最佳人选(您可以在此处创建票证:youtrack.jetbrains.com/issues)。但我敢打赌,当 NodeJS 在调试模式下启动时,可能会关闭一些 V8 优化,因此加载具有调试支持的 Grunt 的所有依赖项可能需要更多时间。另一个可能的原因可能是您机器中的某些网络配置(NodeJS 调试器使用 TCP 来公开 WS 使用的调试接口)。但同样......我的“答案”只是猜测:)
  • 对我来说,我使用which grunt 的输出来找到正确的Node App JS 文件的路径
【解决方案2】:

我今天刚好在 WebStorm 10 中尝试了这个。我不确定这是否是一项新功能,但 WebStorm 已经集成了@diego 描述的步骤,因此您不必手动执行它们:

  1. 单击视图 > 工具窗口 > Grunt 以在 WebStorm 中显示 Grunt 窗口。
  2. 右键单击任何任务并选择“调试”

您可以像设置任何其他文件一样在Gruntfile.js 中设置断点等。

【讨论】:

  • 您必须确保在运行配置中包含所有环境变量,因为在通过工具窗口通过Edit 'task' settings... 选项右键单击时会丢失这些内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-29
  • 2011-11-20
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
相关资源
最近更新 更多