在 IntelliJ 中使用 gulp 而不是 nodejs 会忽略断点

Using gulp instead of nodejs in IntelliJ ignores breakpoints

继承了一个项目运行ning gulp+nodejs。我正在尝试在 Windows 中使用 IntelliJ 作为我的 IDE.

如果我将我的 运行 时间配置设置为使用 "node.js" 作为其类型,我可以毫无问题地设置断点和调试。但是,如果我使用 "gulp.js" 作为 运行 类型,断点将被忽略(我基本上永远无法调试)。我还尝试使用 Node.js 配置并将 JS 文件设置为 node_modules/gulp/bin/gulp.js 而不是 server/run.js 。这似乎有完全相同的问题。

有什么办法可以解决这个问题吗?

Gulp 运行 配置不应该用于 Node 应用程序调试 - 它被设计用于 run/debug Gulp 任务。要调试您的 Node.js 应用程序,您需要创建一个 Node.js Run 配置并将 Gulp 构建生成的 .js 文件指定为要调试的文件。

如果您仍然喜欢使用 Gulp 来启动您的服务器,请确保它是使用 -debug-brk 启动的,然后使用 Node.js Remote 运行 配置来附加调试器.

喜欢:

var gulp = require('gulp');
var exec = require('child_process').exec;

gulp.task('server', function (cb) {
  exec('node --debug-brk=5858 app.js', function (err, stdout, stderr) {
...

运行 您的 server 任务,然后创建 Node.js Remote 运行 配置并点击 Debug