【问题标题】:How to debug app startup with Gulp如何使用 Gulp 调试应用程序启动
【发布时间】:2016-11-21 04:08:08
【问题描述】:

我与一个支持节点应用程序的新团队合作时遇到了障碍。该应用程序是通过 Gulp 启动的,并且设置是这样的,即有一个“核心” NPM 模块,它定义了一堆 gulp 任务和一个“服务器”,我们的应用程序只是安装了这个包,我们的代码被复制为“插件”到服务器。

在我们的 gulpfile.js 中,我们有类似的内容:

var gulp = require('gulp');
var workflow = require('base-workflow');

workflow.use({ gulp: gulp });
gulp.task('default'), ['base:default']);
...more stuff

base:default 被拉入并最终启动了几个 Hapi 服务器(一个作为“网络”应用程序,一个作为真正基于 Java 的 REST 服务的“休息”代理应用程序)。我想做的是设置节点检查器,以便我可以解决应用程序的启动问题,因为我发现他们的基本包的最新版本不兼容 Mac。

我尝试安装 gulp-node-inspector 并进行以下更改:

var gulp = require('gulp');
var nodeInspector = require('gulp-node-inspector');
var workflow = require('base-workflow');

workflow.use({ gulp: gulp });
gulp.task('default'), ['base:default']);
gulp.task('debug', ['default'], function() { gulp.src([]).pipe(nodeInspector({debugBrk: true})); });
...more stuff

还有:

var gulp = require('gulp');
var nodeInspector = require('gulp-node-inspector');
var workflow = require('base-workflow');

workflow.use({ gulp: gulp });
gulp.task('default'), ['base:default']);
gulp.task('debug', function() { gulp.src(['default']).pipe(nodeInspector({debugBrk: true})); });
...more stuff

但这些都不起作用。部分原因很可能是我对 Gulp 缺乏了解。有谁知道我如何调试这个应用程序?

【问题讨论】:

    标签: node.js gulp node-inspector gulp-node-inspector


    【解决方案1】:

    我花了很多时间在谷歌上搜索并尝试了各种解决方案;最后,对我有用的是在此页面上找到的公认答案:

    How to debug gulpfile.js

    这是唯一允许我在 gulp 任务中实际点击“调试器”命令的命令。

    我还应该注意,我必须完全卸载并重新安装“node-inspector”;存在版本问题,当我即将解决它时,我收到了一些“找不到模块”错误,因为节点检查器的版本导致它指向错误的文件夹。一旦我卸载并重新安装(通过 npm),它就可以工作了。在我的情况下,我在 Windows 机器上,运行的命令如下所示:

    节点调试 C:\myPathWhereGulpfileDotJsExists\node_modules\gulp\bin\gulp.js --gulpfile C:\myPathWhereGulpfileDotJsExists\gulpfile.js myTestTaskContainingDebuggerCommand

    【讨论】:

      【解决方案2】:

      也许这个解决方案可以帮助你

      node --inspect --debug-brk ./node_modules/gulp fonts
      

      【讨论】:

        【解决方案3】:

        现在执行此操作的最佳方法是将debugger; 添加到文件中要添加断点的位置,或者在调试器以setBreakpoint('gulpFile.js', 1) 启动后手动设置它

        那么简单

        node inspect --inspect-brk $(which gulp) taskName
        c 
        

        有关使用节点here 进行调试的更多信息

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-09-10
          • 2012-05-09
          • 1970-01-01
          • 1970-01-01
          • 2013-05-31
          • 1970-01-01
          • 2022-11-11
          相关资源
          最近更新 更多